Android 如何在listview上添加边框?

Android 如何在listview上添加边框?,android,listview,border,Android,Listview,Border,下面是我的代码,它显示listview,但问题是当我聚焦listview边框时会删除看到这个图像边框时会显示我聚焦边框时会删除为什么当聚焦时会删除?我没遇到问题,帮我一把 <LinearLayout android:id="@+id/lytContent" android:layout_width="fill_parent" android:layout_height="wrap_content" a

下面是我的代码,它显示listview,但问题是当我聚焦listview边框时会删除看到这个图像边框时会显示我聚焦边框时会删除为什么当聚焦时会删除?我没遇到问题,帮我一把

             <LinearLayout
        android:id="@+id/lytContent"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/txtCopyright"
        android:layout_marginTop="10dp"
         android:background="@drawable/border2" 
        android:layout_below="@+id/lytTitlebar"
        android:orientation="vertical" >



        <ListView
            android:id="@+id/listMainMenu"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"

            android:listSelector="@drawable/listview_selector"
            android:dividerHeight="1dip"
            android:fadeScrollbars="true" />
    </LinearLayout>


     <!---listview_selector.xml ---->>>>


        <?xml version="1.0" encoding="utf-8"?>

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

 <item
android:state_focused="true"
 android:drawable="@drawable/listviewborder" />

   <item
     android:state_pressed="true"
   android:drawable="@drawable/listview_selector_pressed" />

        </selector>




  <------- /listviewborder.xml---->


       <?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item> 
<shape android:shape="rectangle">
  <solid android:color="#000000" /> 
</shape>
  </item>   
<item android:left="1dp" android:right="1dp"  android:top="1dp" android:bottom="1dp" 
    >  
 <shape android:shape="rectangle"> 
 <gradient
 android:startColor="#0a89f1"
android:endColor="#56768d"
 android:angle="90" />
</shape>
  </item>    
    </layer-list> 



<------------listview_selector_pressed.xml-------->






           <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item> 
  <shape android:shape="rectangle">
  <solid android:color="#000000" /> 
  </shape>
  </item>   
  <item android:left="1dp" android:right="1dp"  android:top="1dp" android:bottom="1dp" 
      >  
 <shape android:shape="rectangle"> 
 <gradient
   android:startColor="#0a89f1"
  android:endColor="#56768d"
  android:angle="90" />
   </shape>
   </item>    
  </layer-list> 






               public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    ViewHolder holder;

    if(convertView == null){
        LayoutInflater inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.main_menu_item, null);
        holder = new ViewHolder();

        convertView.setTag(holder);
    }else{
        holder = (ViewHolder) convertView.getTag();
    }

    holder.txtText = (TextView) convertView.findViewById(R.id.txtText);


    holder.txtText.setText(HomeMenu.Category_name.get(position));

    return convertView;





       <----- main_menu_item.xml ---------->



          <?xml version="1.0" encoding="utf-8"?>
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"



android:padding="10dp">
        <TextView 
            android:id="@+id/txtText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/text"

            android:textSize="20sp"


            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"/>
        <ImageView 
            android:id="@+id/imgNav"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/nav_next1"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"/>
             </RelativeLayout>

>>>
公共视图getView(int位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
视窗座;
if(convertView==null){
LayoutFlater充气机=(LayoutFlater)活动
.getSystemService(上下文布局\充气机\服务);
convertView=充气机。充气(R.layout.main菜单项,空);
holder=新的ViewHolder();
convertView.setTag(支架);
}否则{
holder=(ViewHolder)convertView.getTag();
}
holder.txtText=(TextView)convertView.findViewById(R.id.txtText);
holder.txtText.setText(HomeMenu.Category_name.get(position));
返回视图;
试试这个:

<ListView
            android:id="@+id/listMainMenu"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/listviewborder" <!-- HERE -->
            android:listSelector="@drawable/listview_selector"
            android:dividerHeight="1dip"
            android:fadeScrollbars="true" />

android:listSelector=“@drawable/listview\u selector”
android:dividerHeight=“1dip”
android:fadeScrollbars=“true”/

希望这有帮助。

为border创建一个xml文件,然后将其用作listview的可绘制文件

border.xml

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

    <solid android:color="#00000000" />

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

    <corners
        android:bottomLeftRadius="10dp"
        android:bottomRightRadius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp" />

</shape>

<ListView
      android:background="@drawable/border"
 />


尝试在LinearLayout中添加5个填充如果listview占据了整个屏幕,那么您可以在布局中添加边框,使inturn看起来像是围绕着listview。查看此链接:what is android:background=“@drawable/listviewborder”您忘记了向listview添加背景,因此列表视图没有显示边框。