91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android實現動態添加標簽及其點擊事件

發布時間:2020-09-02 00:25:41 來源:腳本之家 閱讀:640 作者:堯石 欄目:移動開發

在做Android開發的時候,會遇到動態添加標簽讓用戶選擇的功能,所以自己寫了個例子,運行效果圖如下。

Android實現動態添加標簽及其點擊事件

Android實現動態添加標簽及其點擊事件

Android實現動態添加標簽及其點擊事件

Android實現動態添加標簽及其點擊事件

標簽可以左右滑動進行選擇,點擊的時候,會彈出toast提示選擇或者取消選擇了哪個標簽。通過動態添加TextView作為標簽,并給TextView設置背景,通過selector選擇器改變其背景顏色,來確定是否處于選中狀態。

代碼如下所示:

1、標簽的布局文件,我在標簽里只設置了一個TextView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical" >
 
 <TextView
  android:id="@+id/textView1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_margin="10dp"
  android:background="@drawable/mark_select"
  android:enabled="false"
  android:padding="10dp"
  android:text="TextView" />
 
</LinearLayout>

2、在res文件夾下新建drawable文件夾,標簽的背景設為@drawable/mark_select,代碼如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
 
 <item android:drawable="@drawable/mark_notbeselected" android:state_enabled="false"/>
 <item android:drawable="@drawable/mark_beselected" android:state_enabled="true"/>
 
</selector>

當標簽處于選中狀態,背景為@drawable/mark_beselected,當標簽處于未選中狀態,背景為@drawable/mark_notbeselected

其中mark_notbeselected代碼為:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
 
 <solid android:color="#ffffff" />
 
 <corners android:radius="3dip" />
 
 <stroke
  android:width="1dip"
  android:color="#1cb0ba" />
 
</shape>

mark_beselected代碼為:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
 
 <solid android:color="#1cb0ba" />
 
 <corners android:radius="3dip" />
 
 <stroke
  android:width="1dip"
  android:color="#1cb0ba" />
 
</shape>

3、主頁面布局文件里包括一個水平滾動條HorizontalScrollView,代碼如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical" >
 
 <HorizontalScrollView
  android:id="@+id/horizontalScrollView1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" >
 
  <LinearLayout
   android:id="@+id/linearLayout1"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="horizontal" >
  </LinearLayout>
 </HorizontalScrollView>
 
</LinearLayout>

4、MainActivity.java代碼如下所示:

public class MainActivity extends Activity {
 
 List<String> list;
 private LinearLayout linearLayout;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 linearLayout = (LinearLayout) findViewById(R.id.linearLayout1);
 //添加標簽內容
 list = new ArrayList<String>();
 for (int i = 0; i < 10; i++) {
 String str = "標簽" + i;
 list.add(str);
 }
 //初始化標簽
 initMarksView();
 }
 private void initMarksView() {
 for (int i = 0; i < list.size(); i++) {
 View view = View.inflate(MainActivity.this, R.layout.mark_layout, null);
 TextView tv = (TextView) view.findViewById(R.id.textView1);
 tv.setText(list.get(i));
 tv.setTag(i);
 view.setTag(false);
 // 設置view的點擊事件,與onClick中的View一致
 //否則需要在onClick中,去findViewById,找出設置點擊事件的控件進行操作
 //若不如此,則無法觸發點擊事件
 view.setOnClickListener(new OnClickListener() {
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
  TextView tv = (TextView) v.findViewById(R.id.textView1);
  Log.i("dxl", "TextView click");
  if ((Boolean) v.getTag()) {
  v.setTag(false);
  tv.setEnabled(false);
  Toast.makeText(MainActivity.this, "你取消了選擇標簽" + tv.getTag(), Toast.LENGTH_SHORT).show();
  } else {
  v.setTag(true);
  tv.setEnabled(true);
  Toast.makeText(MainActivity.this, "你選擇了標簽" + tv.getTag(), Toast.LENGTH_SHORT).show();
  }
 }
 });
 linearLayout.addView(view);
 }
 }
}

至此,便實現了動態添加表情,并可以處理標簽點擊事件的功能。

源代碼下載:Android動態添加標簽及其點擊事件

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大兴区| 大邑县| 沛县| 昆明市| 广水市| 平舆县| 攀枝花市| 竹溪县| 泊头市| 西安市| 莲花县| 郧西县| 巴里| 淮阳县| 华池县| 杭州市| 江西省| 天水市| 南平市| 绍兴市| 诏安县| 萍乡市| 通山县| 南通市| 新民市| 博湖县| 北海市| 海盐县| 开原市| 富源县| 图们市| 融水| 兰考县| 乾安县| 丹凤县| 汉川市| 泽库县| 武夷山市| 屏东县| 巩留县| 慈利县|