【问题标题】:border of items of listview in androidandroid中listview项目的边框
【发布时间】:2014-01-21 09:10:27
【问题描述】:

我想设置Edittext的边框和listview的项目,如图:

我的 xml 代码如下:

    <LinearLayout
        android:background="#BDD6E0"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:orientation="vertical"  >

    </LinearLayout>

    <LinearLayout
        android:background="#BDD6E0"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:orientation="vertical"  >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Search"
            android:textColor="#000000"
            android:background="#FFFFFF"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <EditText
            android:id="@+id/search_pat_edit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:singleLine="true"
            android:textColor="#000000"
            android:layout_weight="4">

        </EditText> 

    </LinearLayout>

    <LinearLayout
        android:background="#c0c0c0"
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:layout_weight="6" >

            <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:layout_weight="1" >
            </ListView>

    </LinearLayout>

</LinearLayout>

如何在列表视图的项目中绘制边框?

【问题讨论】:

标签: android xml listview


【解决方案1】:

列表视图的背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">    
<stroke android:width="1dip" android:color="@color/edt_focused" />
</shape>

并将属性添加到列表视图

android:divider="@drawable/list_divider" android:dividerHeight="1px"

【讨论】:

  • android:color="@color/edt_focused" 的值是多少??
  • 你想要的边框颜色
  • “列表视图的背景”是什么意思?你是说&lt;ListView&gt; 应该有android:background=@drawable/myshape 其中myshape.xml 是你的第一个编码块? list_divider 指的是什么?
【解决方案2】:

将列表子元素的背景设置为

 android:background="@drawable/shape"

然后在你的 res>drawable 中创建一个新的 shape.xml

喜欢这个

 <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle" >

        <stroke
            android:width="2dp"
            android:color="#FF000000" />


    </shape>

【讨论】:

    【解决方案3】:

    创建一个 xml 可绘制对象,例如 /res/drawable/textlines.xml,并将其指定为 Edittext 的背景属性。

    /res/drawable/textlines.xml
    
    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
        <item>
          <shape 
            android:shape="rectangle">
                <stroke android:width="1dp" android:color="#FF000000" />
                <solid android:color="#FFDDDDDD" />
    
            </shape>
       </item>
    
       <item android:top="1dp" android:bottom="1dp"> 
          <shape 
            android:shape="rectangle">
                <stroke android:width="1dp" android:color="#FFDDDDDD" />
                <solid android:color="#00000000" />
            </shape>
       </item>
    
    </layer-list>
    
    You use this Drawable for EditText Background or List Item root Layout. 
    

    【讨论】:

      【解决方案4】:

      要在ListView 中设置边框,请设置属性android:divider="@drawable/img_list"android:dividerHeight="1px" 以设置分隔线的高度。

      使用下面的代码设置EditText的边框。

      <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
         <solid android:color="#ffffff" />
         <stroke android:width="1dip" android:color="#4fa5d5"/>
      </shape>
      

      所以你的 EditText 看起来像。您可以根据需要更改颜色。

      【讨论】:

      • 我遇到了这个问题。我也应用了 listSelector 但选择器没有出现
      【解决方案5】:

      将以下形状设置为列表行项的背景:

      <?xml version="1.0" encoding="utf-8"?>
      <shape xmlns:android="http://schemas.android.com/apk/res/android"
          android:padding="10dp"
          android:shape="rectangle" >
      
      
      
      
          <stroke
              android:width="1dp"
              android:color="#000" />
      
      </shape>
      

      【讨论】:

        【解决方案6】:

        我认为如果你设置 listview 的 transcriptMode 属性,它也会显示边框。

        <ListView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:transcriptMode="normal" >
        </ListView>
        

        所以不需要任何形状的xml。

        【讨论】:

          猜你喜欢
          • 2013-11-27
          • 2013-02-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-30
          • 1970-01-01
          相关资源
          最近更新 更多