Ширина набора Кнопки в Android

Как я могу установить фиксированную ширину для кнопки Android? Каждый раз я пытаюсь установить фиксированную ширину, она заполняет текущего родителя (RelativeView). Вот мой XML:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout android:id="@+id/relativelayout" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">

    <EditText android:layout_height="wrap_content" android:editable="false" android:layout_width="fill_parent" android:id="@+id/output"></EditText>

    <Button android:layout_height="wrap_content" android:id="@+id/Button01" android:layout_below="@id/output" android:text="7" android:layout_width="wrap_content"></Button>
    <Button android:layout_below="@id/output" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Button02" android:layout_toRightOf="@+id/Button01" android:text="8"></Button>
    <Button android:layout_below="@id/output" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Button03" android:layout_toRightOf="@+id/Button02" android:text="9"></Button>
</RelativeLayout>

Как я дал бы ему ФИКСИРОВАННУЮ ширину?
ОБНОВЛЕНИЕ
Скажите, что у меня есть несколько кнопок, что я хочу тот же размер друг как друг и 1/3 всего представления (Портрет), затем я хочу кнопку с дважды шириной. Затем кнопка с дважды высотой. Как я мог выполнить это другой что, вручную измерив их?

16
задан Mohit Deshpande 9 May 2010 в 01:03
поделиться

2 ответа

Чтобы добиться желаемого, вы можете использовать LinearLayout с весовой суммой. Например, вы можете поставить WeightSum равным 9. Если вы поставите вес трех кнопок внутри по 1. Они займут 1/3 места, и вы можете поставить 2 для другого объекта. Этот объект будет в два раза больше другого.

http://developer.android.com/reference/android/widget/LinearLayout.html#setWeightSum(float)

Edit: I would like to add that for this to work correctly, you have to set the width or height to 0px (depending on whether it's an horizontal or vertical layout).

13
ответ дан 30 November 2019 в 17:04
поделиться

Вместо android:layout_width="wrap_content" можно использовать фиксированный размер пикселя, например android:layout_width="20px" или лучший способ: android:layout_width="20dp"

вы также можете задать ширину программно в коде: Button.setWidth(int width)

По поводу вашего обновления:

Я не знаю, хорошее ли это решение, но оно работает. Вы можете использовать

 DisplayMetrics metrics = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(metrics);

для чтения разрешения экрана и затем установить размеры кнопок в соответствии с metrics.widthPixel и metrics.heightPixel

12
ответ дан 30 November 2019 в 17:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: