Android: Как вы не позволяете пользовательским кнопкам занимать все доступное пространство ячейки в TableLayout? - PullRequest
0 голосов
/ 27 января 2012

Я разработал цветные Android Drawables Button и поместил их в TableLayout. Проблема в том, что кнопки Android по умолчанию не занимают всего пространства ячейки, а мои элементы рисования занимают (см. Привязанные изображения). Как я могу настроить свой XML так, чтобы мои элементы рисования оставляли немного места, как кнопки по умолчанию? Я вставил код XML внизу.

Пользовательские кнопки:

Custom buttons taking all available cell space

Кнопки по умолчанию:

Default buttons leave gaps

КОД XML:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true"><shape>
            <gradient android:angle="90" android:endColor="@color/dark_red" android:startColor="@color/brick_red" />

            <corners android:radius="10dip" />

            <padding android:bottom="10dip" android:left="10dip" android:right="10dip" android:top="10dip"></padding>

        </shape></item>
    <item android:state_focused="true"><shape>
            <gradient android:angle="270" android:endColor="@color/dark_red" android:startColor="@color/brick_red" />

            <corners android:radius="10dip" />

            <padding android:bottom="10dip" android:left="10dip" android:right="10dip" android:top="10dip" />
        </shape></item>
    <item><shape>
            <gradient android:angle="270" android:endColor="@color/dark_red" android:startColor="@color/red" />

            <corners android:radius="10dip" />

            <padding android:bottom="5dip" android:left="5dip" android:right="5dip" android:top="5dip" />
        </shape></item>

</selector>

Спасибо за вашу помощь:)

1 Ответ

1 голос
/ 27 января 2012

Вы пытались использовать атрибуты элементов Top, Left, Bottom и Right? См .: Как добавить отступ к градиенту в Android?

В качестве альтернативы, в вашем окончательном макете, который использует кнопку, вы можете использовать атрибут: android:layout_margin(Right,Left,Top,Bottom)

...