2013-10-04 97 views
0

我有這樣的代碼選擇更改圖像的大小:安卓:在ListView項目

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- Button Focused--> 
    <item android:state_focused="true" 
      android:state_pressed="false" 
      android:drawable="@drawable/gradient_background" 
      /> 
<!-- Button Focused Pressed--> 
    <item android:state_focused="true" 
      android:state_pressed="true" 
      android:drawable="@drawable/gradient_background" 
      /> 
<!-- Button Pressed--> 
    <item android:state_focused="false" 
      android:state_pressed="true" 
      android:drawable="@android:drawable/ic_search_category_default" 
      /> 
<!-- Button Default Image--> 
    <item android:drawable="@drawable/gradient_background"/> 

</selector> 

而且在使用這個選擇的活動,我有這樣的:

<ListView 
      android:id="@+id/contactsView" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_below="@+id/searchButton" 
      android:divider="@color/DarkGoldenrod" 
      android:dividerHeight="0.1dp" 
      android:listSelector="@drawable/list_selector" 
      android:drawSelectorOnTop="true" /> 

現在,這是一個什麼樣的ListView項看,當你點擊並按住像一個例子...

enter image description here

我的問題是:無論如何,我可以讓這張照片更小並將其對齊到右側?

謝謝。

回答

2

看看這個Tutorial的第10點,瞭解如何使用您自己的Layout作爲ListView項目,並且您可以進行任何您想要的操作。

+0

@ some-web感謝您指導我的相關部分,我是一名初學者的android程序員,這真的幫了我很多。 – Ogen

+0

在啓動時遇到同樣的問題,只需瀏覽vogella和adnroid開發者一方(通過谷歌),並繼續閱讀,你會越來越好! –

0

我認爲這不是好辦法,做你想做的:) .. 你必須使用服裝陣列適配器的..

public class CustomBookItem extends ArrayAdapter<string>{ 
ArrayList<string> names; 
Context context; 
public CustomBookItem(Context context, int textViewResourceId,ArrayList<string> names) 
{ 
    super(context, textViewResourceId, names); 
    // TODO Auto-generated constructor stub 
    this.names=names; 
    this.context=context; 
} 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    View v= convertView; 
    LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    v=inflater.inflate(R.layout.custome_listitem, parent,false); 
    ImageView imageView = (ImageView) v.findViewById(R.id.icon); 
    Textview name=(Textview)v.findViewById(R.id.name); 
    imageView.setImageDrawable(r.drawbale.icon_search); 
    return v; 
} 

R.layout.custome_listitem

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal" > 
<Textview 
    android:id="@+id/icon" 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:layout_weight="2" /> 
<ImageView 
    android:id="@+id/icon" 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" />