Я использовал simple_list_item_2 в своем коде для создания listview.Everything работает нормально, но я хочу изменить цвет фона макета. Возможно ли это? Может ли этот макет быть настроен как пользовательский XML?Можно ли настроить simple_list_item_2?
ответ
Просто сделать свой собственный simple_list_item_2
, как это, и использовать его вместо
<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
<!-- This is your background color-->
android:background="#DC143C"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:mode="twoLine"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
<TextView android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:textAppearance="?android:attr/textAppearanceListItem" />
<TextView android:id="@android:id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@android:id/text1"
android:layout_alignStart="@android:id/text1"
android:textAppearance="?android:attr/textAppearanceListItemSecondary" />
</TwoLineListItem>
(Взято из android source code)
спасибо! Я создаю новый макет, основываясь на вашем ответе – user232803
Не забудьте принять мой ответ, если он поможет :-) – JonasCz
Я получаю ошибку в этой строке, так как мой текущий min равен 11. Есть ли что-нибудь еще, чтобы заменить это? android: textAppearance = "? Android: attr/textAppearanceListItem" – user232803
ИМО вы не можете, но вы можете создать еще один макет с тем же кодом, а затем замените фон simple_list_item_2
, а затем измените его на нужный вам цвет, а затем вместо вызова simple_list_item_2
вызовите новый макет, и он будет работать.
EDIT *
После ответ @JonasCz, вы можете редактировать его и образец кода, чтобы заменить это было бы как:
ListView l = (ListView) findViewById(R.id.listview);
String[] values = new String[] { "Ubuntu", "Android", "iPhone",
"Windows", "Ubuntu", "Android", "iPhone", "Windows" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.your_custom_simple_list_item_2, values); //removed the android.
viewContainer = findViewById(R.id.undobar);
l.setAdapter(adapter);
Код от AndroidListView/article.html
ИМО вы не можете , но вы можете создать другой макет с тем же кодом, а затем заменить фон simple_list_item_2, а затем изменить его с нужным цветом, а затем вместо вызова simple_list_item_2 назовите новый макет, и он будет работать. –
Просто укажите свой собственный макет строки. –
Спасибо за ваш ответ. Я создаю еще один макет – user232803