fill_parent不拉伸背景图片

时间:2011-10-06 17:00:28

标签: android android-layout tabs fill-parent

我在这里疯了。我发誓我之前已经有过这样的工作了一千次,现在没有任何表现正常。我必须做一些愚蠢的事情。几天前,我对列表视图项目的背景有问题,没有填充父级以跨越列表视图项的高度。我终于放弃了,只是硬编了两个高度来解决这个问题。现在我只是尝试设置整个活动的背景并让它填充它的父级,以便图像覆盖整个屏幕。此活动位于选项卡中。这是选项卡控制器的代码和我遇到问题的活动。

标签布局:

<?xml version="1.0" encoding="utf-8"?>
<TabHost 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dp">

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

        <FrameLayout
            android:id="@android:id/tabcontent"            
            android:layout_width="fill_parent"            
            android:layout_height="fill_parent">

        </FrameLayout>
</LinearLayout>
</TabHost>

麻烦的活动:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background">

<RelativeLayout
    android:id="@+id/localHeader"
    android:layout_width="fill_parent"
    android:layout_height="50dip"
    android:background="@drawable/header2">

    <Button
        android:id="@+id/changeCityButton"
        android:layout_width="80dip"
        android:layout_height="30dip"
        android:layout_marginRight="10dip"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:onClick="buttonChangeOnClickListener"
        android:text="Change"
        android:textColor="#FFFFFF"
        android:background="@drawable/local_deal_redeem_button" />

    <TextView
        android:id="@+id/cityName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dip"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/changeCityButton"
        android:textSize="20dip"
        android:textColor="#FFFFFF"
        android:textStyle="bold"
        android:shadowColor="#FF000000"
        android:shadowDx="1"
        android:shadowDy="1"
        android:shadowRadius="1"/>

</RelativeLayout>

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@id/localHeader"
    android:fastScrollEnabled="true"
    android:cacheColorHint="#00000000"
    android:divider="@null"
    android:dividerHeight="0px"/>

</RelativeLayout>

这个问题似乎只发生在新的Bionic上。 “@ drawable / background”只会延伸到listview的长度。如果列表视图中没有项目,则不会显示任何内容。我甚至尝试将其从布局中删除,并使其成为一个imageview,但也无法正常工作。这就像我在某处丢失了一个wrap_content标签。通常情况下,我只会说这是与Bionic有关的东西,但看到我如何在ListView背景中遇到这些问题我认为我的某些东西搞砸了。请帮忙!!

同样在我的清单中:

<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:resizeable="true" android:anyDensity="true"></supports-screens>

但我已经尝试删除它,无论我在该行中放置什么值,它在我的应用程序中都没有做任何事情。

编辑:我刚才意识到,如果我将图片放入“fill_parent”滚动视图中,背景会相应地延伸。但是由于屏幕包含ListView,我无法走这条路。这里有点古怪。

编辑2:我刚刚删除了listview,它运行得很好。它与listview有某种关联。

编辑3:我刚刚将ListView高度设置为“wrap_content”解决了这个问题。我不知道为什么“fill_parent”在这个设备上引起了这种行为,但它已被修复,所以一切都很顺利。我不能再自我回答6个小时,所以如果有人想把它作为答案,我会选择它是正确的。谢谢大家!

3 个答案:

答案 0 :(得分:1)

我通过将ListView高度设置为wrap_content来解决它。我不知道为什么fill_parent会在这款手机上造成这种行为,但它现在正常运行,所以一切都很顺利。谢谢大家!

答案 1 :(得分:0)

使用片段尝试此逻辑,因为现在不推荐使用制表符。这是我的观点,一旦尝试它,它也可能是错误的。

答案 2 :(得分:0)

我只是在研究这个问题,发现了这个:

http://community.developer.motorola.com/t5/MOTODEV-Blog/Why-Does-My-ListView-Look-Different/ba-p/17462

基本上,Bionic上的默认主题设置了ListView上的android:overScrollFooter。将其设置为@null将提供其他设备展示的行为。