установить фон для списка - PullRequest
1 голос
/ 21 октября 2010

У меня есть четыре вкладки, которые содержат четыре списка, я хочу установить фон для каждого списка, но всякий раз, когда я пытаюсь добавить фон, изображение помещается в каждую ячейку списка, а не позади списка.

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

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

android:background="@drawable/pre"

android:layout_width="fill_parent"
android:layout_height="fill_parent"

android:padding="10dp"

android:textSize="21sp">

</TextView>

Я понял, что это потому, что я пытался добавить фон в текстовое представление, чтобы оно добавляло изображение в каждую ячейку в просмотре списка, поэтому я попытался добавить линейное представление, просмотр спискаи просмотр изображений и поместите фон туда, но он закроется.Я думаю, это потому, что tabhost использует main.xml для рисования главной страницы, и это конфликтует, поэтому я даже попытался добавить просмотр списка там, но он закрывается nforce, он будет работать только, если у меня только текстовое представление, как я могу добавитьфон для каждого списка, ниже приведен код списка;

public class prem extends ListActivity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    // Create an array of Strings, that will be put to our ListActivity
    String[] names = new String[] { "Pre"};
    ListView lv = getListView();    
    lv.setCacheColorHint(00000000);    
    lv.setAdapter(new ArrayAdapter<String>(this,
            R.layout.list_item, names));

}

Ответы [ 2 ]

3 голосов
/ 21 октября 2010

Хорошо, ваши файлы макета XML будут использоваться в методе setContentView(). Вы не опубликовали код своей активности, который включает TabHost, но я предполагаю, что вы используете значение по умолчанию setContentView(R.layout.main);. Если вы НЕ используете setContentView() (в случае вашей ListActivity), добавление ListView в XML-файл ничего не изменит, потому что он никогда не используется.

Вы правы в том, что у вас проблема, потому что вы устанавливаете фон TextView. Поскольку вы используете ListActivity, вам нужно установить фон ListView с помощью кода. ListView является подклассом View, поэтому вы можете использовать методы из класса View , чтобы установить фоновый ресурс для ListView.

Например:

ListView listView = getListView();

//set background to color
listView.setBackgroundColor(#FF888888);

//set background to Drawable
listView.setBackgroundDrawable(myDrawable);

//set background to Resource
listView.setBackgroundResouce(R.id.my_res_id);
0 голосов
/ 02 апреля 2011

Согласно ДжонниБраво, добавляя ....

Если у вас есть файл макета XML, который вы используете для установки представления с помощью setContentView () в вашей деятельности, вы можете иметь в нем ListView.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lists_view"
    android:layout_width="match_parent" 
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView 
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/paper_frame" />
</RelativeLayout>

Задание можно «найти», используя

lv = getListView();

Как показано в примере выше, вы можете установить фон для ListView с атрибутом background. Как обычно, это может быть действительный рисунок (например, цвет или изображение). В моем примере это изображение 9.patch, которое растягивается Android, чтобы заключить список в рамку.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...