【问题标题】:selector for button in rows of listview androidlistview android行中的按钮选择器
【发布时间】:2013-10-05 19:44:31
【问题描述】:

我的应用程序中有一个列表视图,它的项目具有自定义视图。任何项目都有一个按钮,我将选择器设置为所有按钮的背景,但选择器根本不起作用。 布局我的适配器

<LinearLayout
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:gravity="center"
     android:weightSum="100"
     >
<Button android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:id="@+id/textview"
          android:background="@drawable/up_item_list"
          android:gravity="center"
          android:layout_weight="60"          
          android:onClick="listener"
          android:focusableInTouchMode="true"
          android:clickable="true"
          android:focusable="true"
          android:padding="5dp"
          />
</LinearLayout>

我的活动布局

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:id="@+id/lay"
    xmlns:android="http://schemas.android.com/apk/res/android"
     >
<ListView android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:id="@+id/listview"
          android:divider="@android:color/transparent"
          android:dividerHeight="10dp"

          >
</ListView>

</LinearLayout>

我的选择器

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="false" >

<shape 
      android:shape="rectangle" >
<gradient
        android:startColor="#aaaaaa"
        android:endColor="#ffffff"
        android:angle="90"
        android:type="linear"/>   
        <corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"  android:bottom="10dp" />
</shape>
</item>
<item android:state_pressed="true" >
     <shape  android:shape="rectangle" >
         <gradient android:startColor="#fa7905"
                   android:endColor="#fcc96b"
                   android:angle="90"
             ></gradient>
         <corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"
     android:bottom="10dp" />
     </shape>
</item>
 <item android:state_focused="true" >
      <shape  android:shape="rectangle" >
         <gradient android:startColor="#fa7905"
                   android:endColor="#fcc96b"
                    android:angle="90"
             ></gradient>
         <corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"
     android:bottom="10dp" />
     </shape>
  </item>
</selector>

【问题讨论】:

    标签: android android-listview


    【解决方案1】:

    将此代码写在一个单独的 xml 文件中,例如..

    <shape 
      android:shape="rectangle" >
    <gradient
        android:startColor="#aaaaaa"
        android:endColor="#ffffff"
        android:angle="90"
        android:type="linear"/>   
        <corners android:radius="5dp"/>
       <stroke android:width="1dp" android:color="#000000" />
       <padding android:left="1.5dp" android:right="1.5dp"
        android:top="10dp"                         
      android:bottom="10dp" />
    

    并保存一些文件..然后在选择器中应用它..like..

    <item android:drawable="@drawable/your file name" android:state_pressed="true"></item>
    

    【讨论】:

      【解决方案2】:
      // try this
      <?xml version="1.0" encoding="utf-8"?>
      <selector xmlns:android="http://schemas.android.com/apk/res/android">
          <item android:state_enabled="false" >
              <shape
                      android:shape="rectangle" >
                  <gradient
                          android:startColor="#aaaaaa"
                          android:endColor="#ffffff"
                          android:angle="90"
                          android:type="linear"/>
                  <corners android:radius="5dp"/>
                  <stroke android:width="1dp" android:color="#000000" />
                  <padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"  android:bottom="10dp" />
              </shape>
          </item>
          <item android:state_enabled="true" android:state_focused="false" android:state_pressed="false" >
              <shape  android:shape="rectangle" >
                  <gradient android:startColor="#fa7905"
                            android:endColor="#fcc96b"
                            android:angle="90"
                          ></gradient>
                  <corners android:radius="5dp"/>
                  <stroke android:width="1dp" android:color="#000000" />
                  <padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"
                           android:bottom="10dp" />
              </shape>
          </item>
          <item android:state_pressed="true" >
              <shape
                      android:shape="rectangle" >
                  <gradient
                          android:startColor="#aaaaaa"
                          android:endColor="#ffffff"
                          android:angle="90"
                          android:type="linear"/>
                  <corners android:radius="5dp"/>
                  <stroke android:width="1dp" android:color="#000000" />
                  <padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"  android:bottom="10dp" />
              </shape>
          </item>
          <item android:state_focused="true" >
              <shape
                      android:shape="rectangle" >
                  <gradient
                          android:startColor="#aaaaaa"
                          android:endColor="#ffffff"
                          android:angle="90"
                          android:type="linear"/>
                  <corners android:radius="5dp"/>
                  <stroke android:width="1dp" android:color="#000000" />
                  <padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"  android:bottom="10dp" />
              </shape>
          </item>
      </selector>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-29
        • 1970-01-01
        相关资源
        最近更新 更多