【问题标题】:layout_weight with buttons and text views in table rowlayout_weight 在表格行中带有按钮和文本视图
【发布时间】:2019-05-23 02:20:55
【问题描述】:

我正在尝试制作四行,每行三个按钮,按钮底部是两个文本视图。我希望它们都均匀分布,但它们不是,我不知道为什么。

这是我的main.xml 文件中的代码。

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

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

<TableRow 

  android:id="@+id/TableRow01" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content">

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button01" 
  android:text="@string/str_1"/> 

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button02" 
  android:text="@string/str_2"/> 

<Button android:onClick="button_click"
  android:layout_weight="1"
  android:id="@+id/Button03" 
  android:text="@string/str_3"/>

<Button android:onClick="button_click"
  android:layout_weight="1" 
  android:id="@+id/Button04" 
  android:text="@string/str_4"/>

</TableRow>

<TableRow android:id="@+id/TableRow02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">

<Button android:onClick="button_click"
  android:layout_weight="1" 
  android:id="@+id/Button05"  
  android:text="@+string/str_5"/>

<Button android:onClick="button_click"
  android:layout_weight="1"
  android:id="@+id/Button06" 
  android:text="@+string/str_6"/>

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button07" 
  android:text="@+string/str_7"/>

<Button android:onClick="button_click"
  android:layout_weight="1" 
  android:id="@+id/Button08"  
  android:text="@+string/str_8"/>

</TableRow>

<TableRow android:id="@+id/TableRow03" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button09" 
  android:text="@+string/str_9"/>

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button10" 
  android:text="@+string/str_10"/>

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button11" 
  android:text="@+string/str_11"/>

<Button android:onClick="button_click" 
  android:layout_weight="1"
  android:id="@+id/Button12" 
  android:text="@+string/str_12"/>

</TableRow>

<TableRow android:id="@+id/TableRow04" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent">

<TextView android:text="@+id/TextView01" 
    android:layout_weight="1" 
    android:id="@+id/TextView01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"></TextView>

<TextView android:text="@+id/TextView02"
    android:layout_weight="1" 
    android:id="@+id/TextView02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"></TextView>

</TableRow>

</TableLayout>

我的文本视图有以下代码:

 TextView t = (TextView)findViewById(R.id.TextView01);
 TextView t2 = (TextView)findViewById(R.id.TextView02);
 t.setTextSize(24);
 t2.setTextSize(24);

当我运行我的程序时,我得到:

【问题讨论】:

    标签: java android android-layout button android-layout-weight


    【解决方案1】:

    好的,因此请在您的表格布局中添加 android:stretchColumns="0,1,2,3",这将使按钮大小均匀。

    然后在两个文本视图中添加android:layout_span="2"

    这是最终代码:

    <!-- NOTICE STRETCHCOLUMNS ATTRIBUTE-->
    <TableLayout android:id="@+id/TableLayout01"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:stretchColumns="0,1,2,3"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    >
    .
    .
    .
    
    .
    .
    <!-- NOTICE LAYOUT_SPAN ATTRIBUTE-->
    <TextView android:text="@+id/TextView01" 
        android:layout_weight="1" 
        android:id="@+id/TextView01"
        android:layout_span="2"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"></TextView>
    
    <TextView android:text="@+id/TextView02"
        android:layout_weight="1" 
        android:id="@+id/TextView02" 
        android:layout_span="2"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"></TextView>
    

    如果您以编程方式设置文本大小以使您的 TextViews 均匀分布,则在设置 android:layout_span 时不需要它。

    【讨论】:

      猜你喜欢
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多