Android: почему моя кнопка не заполняет родительский элемент? - PullRequest
1 голос
/ 03 августа 2011

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>

Примечание. Розоватый фон был просто тем, с чем я играл в Google Dev Resources здесь , я бы изменил его на более темный градиент, но хотел бы выделить проблему.

1 Ответ

1 голос
/ 03 августа 2011

Я взял ваш 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

...