最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實(shí)現(xiàn)動態(tài)添加標(biāo)簽及其點(diǎn)擊事件

 更新時(shí)間:2018年12月07日 15:35:39   作者:堯石  
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)動態(tài)添加標(biāo)簽及其點(diǎn)擊事件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

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

代碼如下所示:

1、標(biāo)簽的布局文件,我在標(biāo)簽里只設(shè)置了一個(gè)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文件夾,標(biāo)簽的背景設(shè)為@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>

當(dāng)標(biāo)簽處于選中狀態(tài),背景為@drawable/mark_beselected,當(dāng)標(biāo)簽處于未選中狀態(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、主頁面布局文件里包括一個(gè)水平滾動條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);
 //添加標(biāo)簽內(nèi)容
 list = new ArrayList<String>();
 for (int i = 0; i < 10; i++) {
 String str = "標(biāo)簽" + i;
 list.add(str);
 }
 //初始化標(biāo)簽
 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);
 // 設(shè)置view的點(diǎn)擊事件,與onClick中的View一致
 //否則需要在onClick中,去findViewById,找出設(shè)置點(diǎn)擊事件的控件進(jìn)行操作
 //若不如此,則無法觸發(fā)點(diǎn)擊事件
 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, "你取消了選擇標(biāo)簽" + tv.getTag(), Toast.LENGTH_SHORT).show();
  } else {
  v.setTag(true);
  tv.setEnabled(true);
  Toast.makeText(MainActivity.this, "你選擇了標(biāo)簽" + tv.getTag(), Toast.LENGTH_SHORT).show();
  }
 }
 });
 linearLayout.addView(view);
 }
 }
}

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android HandlerThread案例詳解

    Android HandlerThread案例詳解

    這篇文章主要介紹了Android HandlerThread案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 四種Android數(shù)據(jù)存儲方式

    四種Android數(shù)據(jù)存儲方式

    這篇文章主要為大家詳細(xì)介紹了四種Android數(shù)據(jù)存儲方式,感興趣的小伙伴們可以參考一下
    2016-03-03
  • android之自定義Toast使用方法

    android之自定義Toast使用方法

    有時(shí)我們的程序使用默認(rèn)的Toast時(shí)會和程序的整體風(fēng)格不搭配,這個(gè)時(shí)候我們就需要自定義Toast,使其與我們的程序更加融合,使用自定義Toast,首先我們需要添加一個(gè)布局文件,該布局文件的結(jié)構(gòu)和Activity使用的布局文件結(jié)構(gòu)一致,在該布局文件中我們需設(shè)計(jì)我們Toast的布局
    2013-01-01
  • 通過實(shí)例解析android Activity啟動過程

    通過實(shí)例解析android Activity啟動過程

    這篇文章主要介紹了通過實(shí)例解析android Activity啟動過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Android 使用自定義RecyclerView控件實(shí)現(xiàn)Gallery效果

    Android 使用自定義RecyclerView控件實(shí)現(xiàn)Gallery效果

    這篇文章主要介紹了Android 使用自定義RecyclerView 實(shí)現(xiàn)Gallery效果,本文給大家簡單介紹了RecyclerView的基本用法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-10-10
  • Kotlin 匿名類實(shí)現(xiàn)接口和抽象類的區(qū)別詳解

    Kotlin 匿名類實(shí)現(xiàn)接口和抽象類的區(qū)別詳解

    這篇文章主要介紹了Kotlin 匿名類實(shí)現(xiàn)接口和抽象類的區(qū)別詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Android如何給Textview添加菜單項(xiàng)詳解(Java)

    Android如何給Textview添加菜單項(xiàng)詳解(Java)

    TextView是android里面用的最多的控件,TextView類似一般UI中的Label,TextBlock等控件,只是為了單純的顯示一行或多行文本,下面這篇文章主要給大家介紹了關(guān)于Android如何給Textview添加菜單項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Android使用Activity實(shí)現(xiàn)從底部彈出菜單或窗口的方法

    Android使用Activity實(shí)現(xiàn)從底部彈出菜單或窗口的方法

    這篇文章主要介紹了Android使用Activity實(shí)現(xiàn)從底部彈出菜單或窗口的方法,涉及Android布局、窗口、事件監(jiān)聽、權(quán)限控制等相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • Android 實(shí)現(xiàn)列表倒計(jì)時(shí)功能

    Android 實(shí)現(xiàn)列表倒計(jì)時(shí)功能

    這篇文章主要介紹了Android 實(shí)現(xiàn)列表倒計(jì)時(shí)功能,代碼很簡單,沒有任何難度,使用RecyclerView+BaseRecyclerViewAdapterHelper列表實(shí)現(xiàn),需要的朋友可以參考下
    2020-03-03
  • 淺談Android手機(jī)的搶紅包插件

    淺談Android手機(jī)的搶紅包插件

    這篇文章主要介紹了淺談Android手機(jī)的搶紅包插件,對搶紅包插件感興趣的同學(xué)一定要看啊
    2021-04-04

最新評論

紫阳县| 柳州市| 广西| 东海县| 靖西县| 比如县| 宜州市| 含山县| 固镇县| 营山县| 桐柏县| 龙南县| 富阳市| 禄劝| 石泉县| 建湖县| 盐亭县| 舟山市| 手游| 罗平县| 即墨市| 托克逊县| 东台市| 祁门县| 新干县| 瑞昌市| 南郑县| 新和县| 乌拉特中旗| 石家庄市| 武冈市| 平罗县| 象山县| 临颍县| 泸水县| 武安市| 芜湖县| 密山市| 南城县| 巴南区| 乌拉特前旗|