Android:为什么我的按钮没有填充父级?

发布于 2024-11-27 11:29:05 字数 2014 浏览 3 评论 0 原文

在此处输入图像描述

我不明白为什么我的图标以这种方式格式化。它们被设置为填充父级,但事实并非如此。我正在尝试制作底部导航栏。我想要最后两个按钮具有的漂亮渐变,但按钮中的图像似乎从未正确格式化。如果我去掉布局中的背景,它们的格式会更好,但不完全是我想要的。我在此之后对酒吧进行建模: 在此处输入图像描述 我认为最好将所有 Imagebtn 设置为具有 @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 此处,我会将其更改为较暗的渐变,但我想突出显示问题。

enter image description here

I can't figure out why my icons are formatting in this way. They are set to fill the parent but are not. I am trying to make a bottom navbar. I wanted a nice gradient which the last two buttons have but the images in the button never seem to format correctly. If I take out the background in the layout they format better but not quite what I want. I'm modeling the bar after this: enter image description here
I thought it would be best to set all the Imagebtns to have @null background then have the dark gradient as the background in the parent and the gray gradient set as background in the Imagebtn when the user is on that page.
I'm not sure of the best way of trying to accomplish my end game. Here is my 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>

Note: The pinkish background was just something I was playing around with from Google Dev Resources here, I would change it to a darker gradient but I wanted to highlight the problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黎歌 2024-12-04 11:29:05

我拿了你的 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>

图像按钮按预期填充空间

I took your xml and replaced my own images in.
Everything seems to work ok.
Maybe whatever your layout is nested in is affecting things.

Screenshot and code below:

<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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文