zoukankan      html  css  js  c++  java
  • 巧用CheckedTextView完成自定义radiobutton的listview

    因为要用自定义图片的radiobutton的listview,最开始想自己重新写BaseAdapter,重新定义BaseAdapter中的每个list的item。总之android提供了太多方便的控件,就想用他自己的,所以我发现了CheckedTextView。

    自己定义的layout文件

    list_item_single_choice.xml

    <?xml version="1.0" encoding="utf-8"?>
    <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:checkMark="@drawable/radiobuttonstyle
    android:gravity="center_vertical"
    android:paddingLeft="30dp"
    android:paddingRight="30dp"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:textColor="@color/textcolor_select"
    android:textSize="22sp" />

    其中checkmark就是自己定义radiobutton的drawable

    radiobuttonstyle.xml定义如下

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/system_seat_setting_on" android:state_checked="true"></item>
    <item android:drawable="@drawable/system_seat_setting_on" android:state_selected="true"></item>
    <item android:drawable="@drawable/system_seat_setting_on" android:state_pressed="true"></item>
    <item android:drawable="@drawable/system_seat_setting_off"></item>
    </selector>

    这样自己就不需要重新写adapte了。

    代码里实现如下

    mListView.setAdapter(new ArrayAdapter<String>(context,R.layout.list_item_single_choice, Arraystring));

    直接用了系统的ArrayAdapter就可以啦~~

  • 相关阅读:
    计算机组成原理——辅助存储器
    什么是区块链?
    博客园添加背景音乐插件
    计算机组成原理——《深入理解计算机系统》|虚拟存储器
    计算机组成原理——主存储器考研题
    C++ 构造函数初始化列表
    C++ 运行时类别识别
    华为,加油!
    计算机组成原理——cache高速缓存存储器
    计算机组成原理——按字节编址与按字编址
  • 原文地址:https://www.cnblogs.com/candycaicai/p/3186243.html
Copyright © 2011-2022 走看看