Как создать маленькие кнопки с крупным текстом в Android 2.2? - PullRequest
2 голосов
/ 28 сентября 2010

Мне нужно создать квадратные кнопки фиксированного размера с относительно большими символами на них для приложения калькулятора.Когда я увеличиваю размер текста, символ больше не отображается в центре кнопки, и позиция кнопки сдвигается на несколько пикселей вверх (очень странно).

http://img9.imageshack.us/i/buttontest.png/

Есливозможно, я не хочу использовать изображения для кнопок.

Обновление:

Я использую этот xml:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/TableLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TableRow>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="1" android:textSize="8dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="2" android:textSize="10dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="3" android:textSize="12dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="4" android:textSize="14dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="5" android:textSize="16dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="6" android:textSize="18dp"></Button>
</TableRow><TableRow>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="7" android:textSize="20dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="8" android:textSize="22dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="9" android:textSize="24dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="A" android:textSize="26dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="B" android:textSize="28dp"></Button>
<Button android:layout_width="50dp" android:layout_height="50dp" android:text="C" android:textSize="30dp"></Button>
</TableRow>
<TableRow></TableRow>
</TableLayout>

И получаю такой результат:

alt text

как мне расположить все кнопки одинаково по центру текста?

Ответы [ 3 ]

5 голосов
/ 28 сентября 2010

Использование android:paddingTop="2dp"

Код:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="50dp"  >

  <Button
    android:layout_width="wrap_content"
    android:layout_height ="fill_parent"
    android:text="padding = 1dp"
    android:textSize="30sp"
    android:paddingTop="1dp"  />

  <Button
    android:layout_width="wrap_content"
    android:layout_height ="fill_parent"
    android:textSize="30sp"     
    android:text="padding = 10dp"
    android:paddingTop="10dp"  />          
</LinearLayout>

Результат:

alt text

3 голосов
/ 29 сентября 2010
![<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent">

    <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="50dp" >
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="1" android:textSize="8dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="2" android:textSize="10dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="3" android:textSize="12dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="4" android:textSize="14dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="5" android:textSize="16dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="6" android:textSize="18dp"></Button>
    </LinearLayout>


    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:layout_width="wrap_content" 
        android:layout_height="50dp">

        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="7" android:textSize="20dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="8" android:textSize="22dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="9" android:textSize="24dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="A" android:textSize="26dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="B" android:textSize="28dp"></Button>
        <Button android:layout_width="50dp" android:layout_height="fill_parent" android:text="C" android:textSize="30dp"></Button>
    </LinearLayout>

</LinearLayout>]

alt text

2 голосов
/ 20 апреля 2012

Я обнаружил, что добавление android: includeFontPadding = "false" в представление решило для меня проблему размера текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...