2013-08-12 69 views
1

下面是我的代碼,裏面顯示的是listview,但是問題是我在關注listview邊框的時候會看到這個圖片的邊框會顯示http://imgur.com/BZVqG7w,當我將焦點邊框的時候會刪除http://imgur.com/u6rBziB爲什麼當focus時刪除?我因此未得到問題幫我plzz如何在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> 
+0

嘗試的LinearLayout –

+0

5填充如果列表視圖佔據整個屏幕,然後你可以添加邊框到你的佈局,inturn將看起來好像圍繞着listView。看看這個鏈接:http://stackoverflow.com/questions/8203606/android-how-to-draw-a-border-to-a-linearlayout – Zax

回答

-2

試試這個:

<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" /> 

希望這有助於。

+0

什麼是android:background =「@ drawable/listviewborder」 user2659385

+0

你忘了添加背景到你的列表視圖,所以列表視圖不顯示邊框。 – user2652394

0

創建邊境一個XML文件,然後以此爲繪製與列表視圖

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" 
/> 
+0

沒有幫助這個 – user2659385