2013-08-26 4 views
0

Я читаю Andorid Metrics и Grids (http://developer.android.com/design/style/metrics-grids.html), и теперь я пытаюсь сделать мой макет хорошо выглядеть. У меня есть TableRow с двумя элементами TextEdit и кнопкой.Размер кнопки Android в TableRow

<TableRow android:id="@+id/tableRow2" android:layout_width="match_parent" android:layout_height="match_parent"> 
<EditText 
    android:id="@+id/personDOB" 
    android:hint="Date of birth" 
    android:inputType="date" /> 

<ImageButton 
    android:id="@+id/openCalendar" 
    android:layout_width="48dp" 
    android:layout_height="wrap_content" 
    android:background="@drawable/mybutton_background" 
    android:contentDescription="@string/selectdate" 
    android:cropToPadding="true" 
    android:onClick="selectDate" 
    android:src="@drawable/ic_datepicker"/> 
</TableRow> 

Моя кнопка 32х32 (так что я могу добавить запас 8dp каждой стороны для 48dp ритме), но в TableRow это как 3 раза больше ширины. Я попытался сделать кнопку layout_width = 48dp (как указано выше), обернуть содержимое, сделать несколько экспериментов с шириной = 0px & весом, но все это не помогает. Мне нужно, чтобы кнопка фиксировалась, и все другое пространство строк должно использоваться EditText.

ответ

1

Замените следующий макет на свой.

<TableRow 
    android:id="@+id/tableRow2" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <EditText 
     android:id="@+id/personDOB" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:hint="Date of birth" 
     android:inputType="date" /> 

    <ImageButton 
     android:id="@+id/openCalendar" 
     android:layout_width="48dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/mybutton_background" 
     android:contentDescription="@string/selectdate" 
     android:adjustViewBounds="true" 
     android:cropToPadding="true" 
     android:onClick="selectDate" 
     android:scaleType="centerInside" 
     android:src="@drawable/ic_datepicker" /> 
</TableRow> 
+0

, как я упомянул выше, ширина + вес PARAMS здесь не поможет (я пробовал различные Params как для TextEdit и ImageButton) - моя кнопка все еще слишком широк –

+0

@eXeLe, почему вы приняли 'высота = wrap_content' ? –

+0

Почему я должен его менять? он работает так, как мне нужно здесь. –

Смежные вопросы