在Android中更改TableLayout中TextView和Column的文本大小

时间:2016-07-26 10:06:59

标签: java android layout text

This is the layout

正如您所看到的,我试图拉伸文本框,使其紧挨着" NOPE"按钮。我受到了列的大小和文本框的大小的限制,我不知道如何更改。

XML:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1" >

<TableRow
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/editBtn"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="36dp"
        android:layout_column="2"
        android:onClick="editEvent"
        android:text="EDIT" />

    <TextView
        android:id="@+id/attendingEventInListviewRow"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_column="38"
        android:height="30sp"
        android:tag="Events2goName"
        android:text="Events2go"
        android:textColor="#000000"
        android:textSize="22sp"
        android:textStyle="normal" />

    <Button
        android:id="@+id/cancel_arrive"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="130dp"
        android:layout_height="36dp"
        android:layout_column="37"
        android:layout_gravity="right"
        android:layout_weight="0.08"
        android:onClick="selectCancelArrive"
        android:text="Nope" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</TableRow>

3 个答案:

答案 0 :(得分:1)

如果使用dp使用硬编码设置宽度,则无法在多个屏幕上正常使用。我不知道你测试应用程序的屏幕大小...你可以设置TextView android:layout_width="100dp"它对你有用我希望..

但最好是

您可以在android:weightSum中设置TableRow并在android:layout_weight下面设置TableRow次视图...代码已经完成。它适合所有屏幕尺寸..

<TableRow
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:weightSum="10">

    <Button
        android:id="@+id/editBtn"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dp"
        android:layout_height="36dp"
        android:layout_column="2"
        android:layout_weight="2"
        android:onClick="editEvent"
        android:text="EDIT" />

    <TextView
        android:id="@+id/attendingEventInListviewRow"
        android:layout_width="0dp"
        android:layout_weight="6"
        android:layout_height="wrap_content"
        android:layout_column="38"
        android:height="30sp"
        android:tag="Events2goName"
        android:text="Events2go"
        android:textColor="#000000"
        android:textSize="22sp"
        android:textStyle="normal" />

    <Button
        android:id="@+id/cancel_arrive"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="36dp"
        android:layout_column="37"
        android:layout_gravity="right"
        android:layout_weight="0.08"
        android:onClick="selectCancelArrive"
        android:text="Nope" />
</TableRow>

答案 1 :(得分:0)

试试这个......

<TextView
            android:id="@+id/attendingEventInListviewRow"
            android:layout_width="0dp"
            android:layout_weight=""
            android:layout_height="wrap_content"
            android:layout_column="38"
            android:height="30sp"
            android:tag="Events2goName"
            android:text="Events2go"
            android:textColor="#000000"
            android:textSize="22sp"
            android:textStyle="normal" />

答案 2 :(得分:0)

例如,如果您有3列(重量为100%),并且希望第一列使用总重量的40%,则放android:layout_weight="0.4",如果第二列使用50%的重量{{1 }},第三列和最后一列使用10%默认值android:layout_weight="0.5"