【问题标题】:Android: Why doesn't my button fill the parent?Android:为什么我的按钮没有填充父母?
【发布时间】:2011-08-03 15:01:01
【问题描述】:

我不明白为什么我的图标会以这种方式格式化。它们被设置为填充父级,但不是。我正在尝试制作底部导航栏。我想要一个漂亮的渐变,最后两个按钮有,但按钮中的图像似乎从来没有正确格式化。如果我去掉布局中的背景,它们的格式会更好,但不是我想要的。在此之后我正在为酒吧建模: 我认为最好将所有 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>

注意:粉红色背景只是我在 Google Dev Resources here 上玩的东西,我会将其更改为较暗的渐变,但我想突出问题。

【问题讨论】:

    标签: android background imagebutton navbar


    【解决方案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>
    

    【讨论】:

    • 我同意。无论嵌套在什么布局中,都可能导致问题。父容器决定了这个容器的宽度。
    猜你喜欢
    • 2014-08-03
    • 2014-04-28
    • 2017-01-21
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 2013-05-26
    相关资源
    最近更新 更多