Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在TableView中剪切的按钮的右侧半径边缘_Android_Android Layout - Fatal编程技术网

Android 在TableView中剪切的按钮的右侧半径边缘

Android 在TableView中剪切的按钮的右侧半径边缘,android,android-layout,Android,Android Layout,我有一个自定义的背景画有圆角按钮。正常情况下看起来不错,但当它出现在表格布局中时按钮的右边缘被切断 下面是布局XML的一个相关片段,它将按钮放置在表布局中: <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/rounded_box_nopadding" android:stretchColumns="1"

我有一个自定义的背景画有圆角按钮。正常情况下看起来不错,但当它出现在
表格布局中时
按钮的右边缘被切断

下面是布局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:layout\u width
。可能是原因。

问题出在按钮布局中,并且没有按钮宽度

您必须设置
android:layout\u height=“wrap\u content”
,我认为删除
android:layout\u 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>

谢谢
Deepak

我已经设法解决了这个问题,方法是去掉
元素的填充,并在
中添加了边距;i、 e:

<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\u parent
。父单元格的宽度会计算为包含填充,但渲染时它看起来太长。通过使用按钮上的边距,问题就解决了。

只是修复了它,简单地删除了
元素的填充,并在
中添加了边距。不,不是这样。因为按钮出现在表格行中,所以它不需要
android:layout\u width
属性-它自动具有
fill\u parent
的宽度。不,按钮应该具有
android:layout\u span=“2”
,因为我希望按钮跨越两列。此外,不需要在表行内的视图中指定高度。