a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統(tǒng) > Android > 正文

Android實現(xiàn)動態(tài)添加標簽及其點擊事件

2019-10-21 21:34:16
字體:
供稿:網(wǎng)友

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

Android,標簽,點擊事件

Android,標簽,點擊事件

Android,標簽,點擊事件

Android,標簽,點擊事件

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

代碼如下所示:

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>

當標簽處于選中狀態(tài),背景為@drawable/mark_beselected,當標簽處于未選中狀態(tài),背景為@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); //添加標簽內(nèi)容 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,找出設置點擊事件的控件進行操作 //若不如此,則無法觸發(fā)點擊事件 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); } }}

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

源代碼下載:Android動態(tài)添加標簽及其點擊事件

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久操成人 | 一级a性色生活片久久毛片明星 | 久草ab | 一区二区精品视频 | 欧美日韩成人在线 | 国产精品久久久久久久久久久久久 | 日韩精品一二区 | 久久久久久久久网站 | 日韩四区| 国产综合精品视频 | 成人欧美一区二区三区黑人孕妇 | 午夜精品久久久 | 99久久精品免费看国产免费粉嫩 | 一区二区三区四区精品 | 青青草久草在线 | 99亚洲视频| 精品国产一级毛片 | 欧美精品一区二区三区在线播放 | 欧美在线一二三 | 午夜久久久 | 91在线免费视频 | 亚洲一区二区三区四区在线观看 | 久久天堂热 | 久久国产欧美日韩精品 | 日韩欧美中文字幕在线观看 | 久久福利| 国产丝袜人妖ts黄檬 | 黄色毛片观看 | 一区二区三区四区不卡视频 | 毛片毛片毛片毛片毛片 | 息与子猛烈交尾一区二区 | a视频在线观看免费 | 午夜无码国产理论在线 | 一级免费黄色免费片 | 欧美影视一区二区 | 91国偷自产一区二区三区亲奶 | 久久国产高清 | 久久久久久久久久久久国产精品 | 国产精品久久嫩一区二区免费 | 欧美久久久久 | 久久久精品日韩 |