Фон ListView

1

Редакция:

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"  
android:gravity="bottom|fill_vertical" 
android:background="@drawable/background">

   <ListView
      android:id="@+id/listPlan"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:divider="@null"
      android:cacheColorHint="#00000000" 
      android:listSelector="@android:color/transparent" 
      android:scrollingCache="false" 
      android:dividerHeight="5dp" >

   </ListView>

</LinearLayout>

Это одно из действий в GroupActivity, если это что-то значит для моей проблемы. Я пробовал все: предоставление android:background для ListView, для LinearLayout, даже для родительской активности (GroupActivity), изменение android:layout значения android:layout для каждого элемента, который я мог, ничего не помогает.

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/text"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent" 
     android:textSize="20sp"
     android:padding="15dp" 
     android:scrollHorizontally="true" >
</TextView>

Вот как выглядит мой элемент единого списка, возможно, есть ошибки?

Я видел разницу только тогда, когда я редактировал свой <TextView> и giv it android:background, каждый другой пытался изменить фон og this listview был незанятым - например, я изменил android:cacheColorHint="#00000000" на android:cacheColorHint="#FFFFFFFF" - ничего не произошло.

Я попробую еще раз - после изменения макета с Linear на Relative ничего не произойдет, но это (спасибо @Sam) заставляет меня думать. Может быть, мне нужно добавить что-то в свой AndroidManifest.xml? Если код работает правильно, возможно, этот родительский GroupActivity оказывает большее влияние на ListView, тогда я подумал. К сожалению, я не могу поместить изображения, но вы можете увидеть два состояния этого ListView здесь: https://www.dropbox.com/sh/y5dgibei5uq9kv9/afeIvgW18g

Ничего себе, проблема немного странная, потому что когда я пытался установить android:textColor для моего ListView ничего не изменилось! Это мои styles.xml:

<resources>

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.
    -->
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

</resources>

Спасибо за каждого ответа.

ПОСЛЕДНЕЕ ИЗМЕНЕНИЕ!

Хорошо, проблема решена, потому что ничто не помогает мне, я пробовал по-другому и просто установил фон ListView в коде:

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
        list.setBackgroundResource(R.drawable.background);
    else list.setBackgroundResource(R.drawable.background_landscape);

Теперь все работает хорошо! Спасибо, ребята, за каждый ответ. Мир.

  • 0
    у вас есть элементы в списке? потому что это деформация контента может быть так?
  • 0
    Да, у меня есть предметы в списке.
Показать ещё 2 комментария
Теги:
background
textview
listview

3 ответа

0

Просто добавьте это в файл listview.xml.

android:cacheColorHint="#00000000"

Или вы можете использовать Expandable Listview
Отредактировано:

Используйте Relative layout вместо linear layout и, пожалуйста, проверьте.. /

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="@drawable/ic_launcher" 
        android:cacheColorHint="#00000000">
    </ListView>

</RelativeLayout>
  • 0
    Это не помогает мне.
  • 0
    К сожалению, это не помогает мне. Я попытался дать android:background для RelativeLayout , но ничего не изменилось. :(
Показать ещё 2 комментария
0

Попробуй это:

      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
     android:layout_height="match_parent"   
     android:orientation="vertical" >


      <ListView
       android:id="@+id/contract_diary_list"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"        
       android:fadingEdge="none"        
       android:divider="@null"
       android:scrollingCache="false"
      android:listSelector="@android:color/transparent"
     >
     </ListView> 

   </LinearLayout>
  • 0
    Ничего не изменилось. :(
0

Это решило мою проблему:

android:cacheColorHint="#0000"

добавьте его в свой список: -

<ListView
android:id="@+id/listPlan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:cacheColorHint="#0000">

"# 0000" → прозрачный цветовой код

  • 0
    К сожалению это не решило мое. :(

Ещё вопросы

Сообщество Overcoder
Наверх
Меню