tablerow中按钮的大小不正确。 (机器人)

时间:2011-12-02 20:24:22

标签: android button size tablerow

我正在编写一个Android应用程序。这是它的XML布局:

 <ScrollView android:id="@+id/ScrollView01"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"  
        android:layout_gravity="left|top|bottom|right"
        android:layout_marginTop="80dip"
        android:layout_marginLeft="0dip"
        android:layout_marginRight="0dip"
        android:layout_marginBottom="60dip"

>

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/centerlayout"
    android:orientation="vertical"
    android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_gravity="left|right|top|bottom"
        android:layout_marginRight="20dip"
        android:layout_marginLeft="10dip"
        android:layout_marginBottom="120dip"    >

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



    <TableRow>
         <Button android:text="Button" 
             android:layout_column="0"
            android:id="@+id/bookmarkbutton" 
            android:layout_width="230dip" 
            android:layout_height="30dip" 

            android:background="@drawable/red_btn"
            android:padding="14dp" 
           ></Button>


    </TableRow>


    </TableLayout>

   </LinearLayout>



</ScrollView>

如果我运行它,它会显示以下屏幕: enter image description here

但是当我将android:layout_gravity =“left”添加到“按钮”时,按钮大小会减小并显示: enter image description here

请注意,如果我通过android更改按钮的宽度:layout_width =“30dip”,它会显示小按钮, enter image description here

但如果我将其更改为更大的尺寸,则不会正确应用尺寸,最大宽度与第二张图像相同。

最后如果我通过

添加新的textview
ScrollView android:id="@+id/ScrollView01"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"  
        android:layout_gravity="left|top|bottom|right"
        android:layout_marginTop="80dip"
        android:layout_marginLeft="0dip"
        android:layout_marginRight="0dip"
        android:layout_marginBottom="60dip"



>

         <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/centerlayout"
        android:orientation="vertical"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_gravity="left|right|top|bottom"
        android:layout_marginRight="20dip"
        android:layout_marginLeft="10dip"
        android:layout_marginBottom="120dip"


        >

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



  <TableRow>
         <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/subjecttext"
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"
        android:lineSpacingExtra="10dip"
        android:padding="14dp" 
        />    
        </TableRow>

    <TableRow>
         <Button android:text="Button" 
             android:layout_column="0"
            android:id="@+id/bookmarkbutton" 
            android:layout_width="20dip" 
            android:layout_height="30dip" 
            android:background="@drawable/black_btn"
            android:padding="14dp" 
           ></Button>


    </TableRow>





</TableLayout>

        </LinearLayout>



        </ScrollView>

显示以下图像,按钮大小不再可更改。你能告诉我什么是错的吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试使用LinearLayout而不是TableLayout。这里是使用LinearLayout的代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:layout_gravity="left|top|bottom|right" 
    android:layout_marginTop="80dip" 
    android:layout_marginLeft="0dip" 
    android:layout_marginRight="0dip"
    android:layout_marginBottom="60dip">
    <LinearLayout android:id="@+id/centerlayout" 
                android:orientation="vertical" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent"
                android:layout_gravity="left|right|top|bottom" 
                android:layout_marginRight="20dip" 
                android:layout_marginLeft="10dip" 
                android:layout_marginBottom="120dip">
        <TextView android:text="Very long text in textview" 
                android:textSize="20sp" android:id="@+id/subjecttext"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:lineSpacingExtra="10dip" 
                android:padding="14dp" />
        <Button android:id="@+id/bookmarkbutton" 
                android:background="@drawable/red_btn" 
                android:text="Button" 
                android:padding="14dp" 
                android:layout_height="30dip"
                android:layout_width="20dip">
        </Button>
    </LinearLayout>
</ScrollView>

截图:

enter image description here

希望,它对你有帮助!。

我实际上看到屏幕按钮中的按钮有裁剪文字。这是第二个问题吗?

Bellow我附上了代码:

的屏幕截图

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:layout_gravity="left|top|bottom|right" 
    android:layout_marginTop="80dip" 
    android:layout_marginLeft="0dip" 
    android:layout_marginRight="0dip"
    android:layout_marginBottom="60dip">
    <LinearLayout android:id="@+id/centerlayout" 
                android:orientation="vertical" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent"
                android:layout_gravity="left|right|top|bottom" 
                android:layout_marginRight="20dip" 
                android:layout_marginLeft="10dip" 
                android:layout_marginBottom="120dip">
        <TextView android:text="Very long text in textview" 
                android:textSize="20sp" android:id="@+id/subjecttext"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:lineSpacingExtra="10dip" 
                android:padding="14dp" />
        <Button android:text="Button" 
                android:background="@drawable/red_btn" 
                android:id="@+id/button1" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"></Button>
    </LinearLayout>
</ScrollView>