Android:为什么我的按钮不填充父母?

时间:2011-08-03 15:01:01

标签: android background imagebutton navbar

enter image description here

我无法弄清楚为什么我的图标会以这种方式进行格式化。它们被设置为填充父级但不是。我正在尝试制作一个底部导航栏。我想要一个漂亮的渐变,最后两个按钮有,但按钮中的图像似乎永远不会正确格式化。如果我在布局中取出背景,他们格式更好,但不是我想要的。我在此之后建模吧:enter image description here 我认为最好将所有Imagebtns设置为@null背景,然后将暗渐变作为父级中的背景,将灰色渐变设置为当用户在该页面上时Imagebtn中的背景。 我不确定尝试完成我的最终游戏的最佳方式。这是我的xml:

    <LinearLayout android:id="@+id/navbar"
    android:layout_alignParentBottom="true"
    android:layout_width="fill_parent"  android:background="@drawable/navbackground"
    android:layout_height="60dip" android:layout_weight="1"
    android:orientation="horizontal">

    <ImageButton android:layout_height="fill_parent" android:id="@+id/navhomebtn" android:enabled="false" 
        android:textColor="#FFF" android:src="@drawable/homeiconsel" android:background="@null"
        android:layout_weight=".25" android:layout_width="0dip" />

    <ImageButton android:layout_height="fill_parent" android:id="@+id/navsearchbtn"
        android:textColor="#FFF" android:background="#FFF" 
        android:text="Search" android:layout_weight=".25" android:src="@drawable/searchicon" 
        android:layout_width="0dip" />

    <ImageButton android:layout_height="fill_parent" android:id="@+id/navfavbtn"
        android:textColor="#FFF" android:background="@drawable/navbuttons"
        android:src="@drawable/favoriteicon"  android:layout_weight=".25"
        android:layout_width="0dip" />
    <ImageButton android:layout_height="fill_parent" android:id="@+id/navloanbtn"
        android:textColor="#FFF" android:background="@drawable/navbuttons"
        android:src="@drawable/loanicon" android:layout_weight=".25"
        android:layout_width="0dip" />

</LinearLayout>

注意:粉红色的背景只是我在谷歌开发资源here中玩的东西,我会把它改成更暗的渐变,但我想突出问题。

1 个答案:

答案 0 :(得分:1)

我拿了你的xml并替换了我自己的图像。 一切似乎都运转正常。 也许嵌套的布局会影响事物。

下面的屏幕截图和代码:

<LinearLayout android:id="@+id/navbar"
        android:layout_alignParentBottom="true" android:layout_width="fill_parent"
        android:background="@drawable/icon" android:layout_height="60dip"
        android:layout_weight="1" android:orientation="horizontal">

        <ImageButton android:layout_height="fill_parent"
            android:id="@+id/navhomebtn" android:enabled="false"
            android:textColor="#FFF" android:src="@drawable/heart"
            android:background="@null" android:layout_weight=".25"
            android:layout_width="0dip" />

        <ImageButton android:layout_height="fill_parent"
            android:id="@+id/navsearchbtn" android:textColor="#FFF"
            android:background="#FFF" android:text="Search"
            android:layout_weight=".25" android:src="@drawable/heart"
            android:layout_width="0dip" />

        <ImageButton android:layout_height="fill_parent"
            android:id="@+id/navfavbtn" android:textColor="#FFF"
            android:background="@drawable/icon" android:src="@drawable/heart"
            android:layout_weight=".25" android:layout_width="0dip" />
        <ImageButton android:layout_height="fill_parent"
            android:id="@+id/navloanbtn" android:textColor="#FFF"
            android:background="@drawable/icon" android:src="@drawable/heart"
            android:layout_weight=".25" android:layout_width="0dip" />

    </LinearLayout>

image buttons fill the space as expected