2011-06-15 54 views
0

我有一個帶有自定義背景的按鈕,它具有圓角。通常看起來不錯,但是當它出現在TableLayout中時,按鈕的右側邊緣會被切斷。在TableView中切斷按鈕的右側半徑邊緣

這裏有哪些地方在表格佈局按鈕的佈局XML的相關片段:

<TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/rounded_box_nopadding" android:stretchColumns="1" android:shrinkColumns="1"> 
     <TableRow android:padding="10dp"> 
      <TextView android:text="@string/sign_in_email_label" android:textStyle="bold" android:textColor="#000000" android:paddingRight="10dp" /> 
      <TextView android:text="@string/sign_in_email_hint" /> 
     </TableRow> 
     <TableRow android:layout_height="1dp"> 
      <View android:layout_width="fill_parent" android:layout_height="1dp" android:background="#dbe3e4" android:layout_span="2" /> 
     </TableRow> 
     <TableRow android:padding="10dp"> 
      <TextView android:text="@string/sign_in_password_label" android:textStyle="bold" android:textColor="#000000" android:paddingRight="10dp" /> 
      <TextView android:text="@string/sign_in_password_hint" /> 
     </TableRow> 
     <TableRow android:layout_height="1dp"> 
      <View android:layout_width="fill_parent" android:layout_height="1dp" android:background="#dbe3e4" android:layout_span="2" /> 
     </TableRow> 
     <TableRow android:padding="10dp"> 
      <Button android:id="@+id/my_scoopons_sign_in_button" android:layout_height="wrap_content" android:text="@string/sign_in_button_label" android:textColor="@color/button_text_states" 
       android:textSize="20sp" android:textStyle="bold" android:shadowColor="#671610" android:shadowDy="-2" android:shadowRadius="1" android:background="@drawable/button_states" 
       android:layout_span="2"/> 
      </TableRow> 
    </TableLayout> 

而這裏的屏幕截圖說明問題。

Android screenshot http://www.petrocky.com/images/device.png

+0

只是修正它,只是刪除''元素的填充,並增加了對'

回答

1

我已設法通過去除填充斷<TableRow>元件來解決這個和加入緣至<Button>;即:

<TableRow> 
    <Button android:id="@+id/sign_in_button" android:layout_height="wrap_content" android:text="@string/sign_in_button_label" 
     android:background="@drawable/button_states" 
     android:layout_span="2" android:layout_margin="10dp" /> 
</TableRow> 

因爲按鈕在表格內,所以它的寬度爲fill_parent。計算父級單元格的寬度以包含填充,但渲染時會顯得過長。通過使用按鈕上的邊距,問題就解決了。

0

android:layout_width是從按鈕的代碼失蹤。可能是原因。

+0

的餘量不,那不是。由於該按鈕出現在表格行中,因此它不需要'android:layout_width'屬性 - 它自動具有'fill_parent'的寬度。 – 2011-06-16 01:08:55

0

問題是按鈕layout_span,也沒有按鈕

的寬度

必須設置android:layout_height="wrap_content",我認爲刪除android:layout_span="2" 我已經修改了你的代碼。

嗨米克,

請嘗試下面的代碼。

<TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/rounded_box_nopadding" android:stretchColumns="1" android:shrinkColumns="1"> 
    <TableRow android:padding="10dp"> 
     <TextView android:text="@string/sign_in_email_label" android:textStyle="bold" android:textColor="#000000" android:paddingRight="10dp" /> 
     <TextView android:text="@string/sign_in_email_hint" /> 
    </TableRow> 
    <TableRow android:layout_height="1dp"> 
     <View android:layout_width="fill_parent" android:layout_height="1dp" android:background="#dbe3e4" android:layout_span="2" /> 
    </TableRow> 
    <TableRow android:padding="10dp"> 
     <TextView android:text="@string/sign_in_password_label" android:textStyle="bold" android:textColor="#000000" android:paddingRight="10dp" /> 
     <TextView android:text="@string/sign_in_password_hint" /> 
    </TableRow> 
    <TableRow android:layout_height="1dp"> 
     <View android:layout_width="fill_parent" android:layout_height="1dp" android:background="#dbe3e4" android:layout_span="2" /> 
    </TableRow> 
    <TableRow android:padding="10dp"> 
     <Button android:id="@+id/my_scoopons_sign_in_button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/sign_in_button_label" android:textColor="@color/button_text_states" 
      android:textSize="20sp" android:textStyle="bold" android:shadowColor="#671610" android:shadowDy="-2" android:shadowRadius="1" android:background="@drawable/button_states" 
      /> 
     </TableRow> 
</TableLayout> 

由於 迪帕克

+0

不,該按鈕應該具有'android:layout_span =「2」',因爲我希望按鈕跨越2列。此外,您不需要在表格行內的視圖中指定高度。 – 2011-06-16 01:10:16