2013-08-25 5 views
1

У меня есть таблица с изображением и двумя кнопками. Мне нужно поместить две кнопки в одну строку и одинаковые размеры. Теперь я мог бы выровнять бутоны в одной строке, но это показано в разном размере. Фон определяет изображение в бутонах, но не размер. Я определяю свойства изображения в коде. Кодекс TableLayoutAndroid две кнопки бок о бок в строку таблицы

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/tableLayout1" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/black" > 
<TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:gravity="center_horizontal" > 
      <ImageView 
       android:id="@+id/imagePreLoad" 
       android:layout_width="wrap_content" 
       android:layout_height="250dp" 
       android:layout_marginTop="84dp" 
       android:background="@drawable/lunafons" 
       android:contentDescription="@string/app_name" /> 
    </TableRow> 
    <TableRow 
     android:id="@+id/tableRow2" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center_horizontal" 
     android:layout_marginTop="50dp" 
     android:layout_gravity="center_horizontal" 
     android:background="@color/black" > 

     <Button 
       android:id="@+id/btnload" 
       android:background="@drawable/btnback" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       /> 
      <Button 
       android:id="@+id/btnload" 
       android:background="@drawable/btnloadwallpaper" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       /> 
</TableRow> 
</TableLayout> 

И коды фонового butons:

<?xml version="1.0" encoding="UTF-8"?> 
<selector 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_enabled="false" 
    android:drawable="@drawable/btnload1" 
    /> 

<item android:state_enabled="true" 
    android:state_pressed="true" 
    android:drawable="@drawable/btnload2" 
     /> 
<item android:state_enabled="true" 
    android:state_focused="true" 
    android:drawable="@drawable/btnload1" /> 
<item android:state_enabled="true" 
    android:drawable="@drawable/btnload1" /> 

Благодаря

ответ

3
<Button 
     android:id="@+id/btnload" 
     android:background="@drawable/btnback" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     /> 
    <Button 
     android:id="@+id/btnload" 
     android:background="@drawable/btnloadwallpaper" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     /> 

потому, что вы делаете ширину math_parent в то время как она должна быть 0dp, потому что вы используете вес.

+1

благодаря отлично работает –

+0

приветственное мат =)) –

1
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/ButtonsTable" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 
     <TableRow 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 
     <Button 
       android:id="@+id/btnload" 
       android:background="@drawable/btnback" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       /> 
      <Button 
       android:id="@+id/btnload" 
       android:background="@drawable/btnloadwallpaper" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       /> 
     </TableRow> 
    </TableLayout> 
+0

спасибо за ответ, но не действительно для моего случая, потому что код, который я использую для изменения свойств TableLayout, убедитесь, что кнопки показывают один над другим , –

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