Hintergrund für das Element in der Listen-Ansicht
Arbeite ich mit Listen-Ansicht in android.
Ich möchte die Hintergrundfarbe festlegen für jedes Element in der Listen-Ansicht.
Wenn ich setbackgroudcolor Funktion, es zeigt die falsche Farbe. Es scheint, es ist die Farbe mischen der Anwendung hintergrund und neue Farbe.
Wenn ich setbackgroundresource Fonds, es zeigt "ok". Allerdings, wenn ich auf ein Element klicken, ist die Farbe nicht ändern.
brauche ich, um den hintergrund für die für jedes Element in der Listenansicht, und wenn Sie auf ein Element klicken, der hintergrund ist verändert, um eine andere Farbe oder hintergrund
Mein code: OnView
//Set background
RelativeLayout root = (RelativeLayout) vi.findViewById(R.id.p60001_layout_info);
if (position % 2 == 0){
root.setBackgroundResource(R.drawable.cell_g_02);
//root.setBackgroundColor(R.color.color_fist_in_pack_view);
}else{
root.setBackgroundResource(R.drawable.cell_g_01);
//root.setBackgroundColor(R.color.color_fist_in_pack_view);
}
Zeile layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/p60001_layout_info"
android:layout_width="match_parent"
android:layout_height="30dp">
<TextView
android:id="@+id/p60001_item_info"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:textSize="15dp" android:layout_marginLeft="10dp" android:fadeScrollbars="false" android:textColor="@color/txt_normal" android:scrollHorizontally="true" android:gravity="center_vertical">
</TextView>
<ImageView
android:id="@+id/icon"
android:layout_width="22px"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/arrow" android:layout_marginRight="15dp"/>
<ImageView
android:id="@+id/p60001_image_notice_num"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:layout_alignParentTop="true"
android:layout_marginRight="30dp"
android:layout_toLeftOf="@+id/icon"
android:layout_marginTop="5dp" android:src="@drawable/fukidashi" android:visibility="invisible" android:clickable="false" android:focusable="false" android:focusableInTouchMode="false" android:longClickable="false"/>
<TextView
android:id="@+id/p60001_item_notices"
android:layout_width="10dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/icon"
android:ems="10" android:layout_marginRight="40dp" android:background="@android:color/transparent" android:freezesText="false" android:focusableInTouchMode="false" android:focusable="false" android:clickable="false" android:selectAllOnFocus="false" android:textSize="20px" android:layout_marginTop="4dp" android:visibility="invisible">
<requestFocus />
</TextView>
</RelativeLayout>
- verwenden Sie benutzerdefinierte adapter
InformationsquelleAutor Ankata | 2012-04-13
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie benutzerdefinierte adapter-Konzept und die oben ist Ihr getView-code.
müssen Sie die convert-Ansicht(xml-Datei für jede Zeile) ändern Sie den hintergrund wie unten.
wenn Sie Sie brauchen, um die Farbe auf den Fokus gedrückt oder verwenden Sie das folgende xml als hintergrund.
auch, wenn nötig, um den hintergrund für angeklickte Elemente sind dann ein Weg, dies zu tun ist::::
haben eine bool-variable(=false)in Ihrem pojo(Bohne), wo Sie die Speicherung der Daten der einzelnen Artikel.
also, Wann immer Sie klicken Sie auf Element machen, dass die variable auf true. Und in der getView() prüfen Sie einfach, ob die variable true oder false und tun, die müssen voll entsprechend.
Versuchen, diese