LinearLayout分隔线未显示

Boa*_*rdy 24 android android-linearlayout

我正在开发一个Android项目,我有一个LinearLayout,它包含2个使用无边框按钮样式的水平按钮.

我试图在每个按钮之间显示分隔线,但它们没有出现,但我看不出任何原因.以下是XML布局:

<LinearLayout android:id="@+id/call_log_select_host_button_group"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        android:divider="#ffffff"
        android:showDividers="middle"
        android:dividerPadding="22dp">
        <Button android:id="@+id/call_log_select_btnCancel"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Cancel"
            style="?android:attr/borderlessButtonStyle" />
        <Button android:id="@+id/call_log_select_btnBlock"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Block"
            style="?android:attr/borderlessButtonStyle" />
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助,您可以提供.

Bla*_*elt 92

mydivider.xml在里面创建一个文件res/drawable并放置以下形状

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <size android:width="1dip" />
    <solid android:color="#ffffff" />
</shape>
Run Code Online (Sandbox Code Playgroud)

将形状添加为布局的分隔符

<LinearLayout android:id="@+id/call_log_select_host_button_group"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        android:divider="@drawable/mydivider"
        android:showDividers="middle"
        android:dividerPadding="22dp">
        <Button android:id="@+id/call_log_select_btnCancel"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Cancel"
            style="?android:attr/borderlessButtonStyle" />
        <Button android:id="@+id/call_log_select_btnBlock"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Block"
            style="?android:attr/borderlessButtonStyle" />
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

或作为解决方法:

<LinearLayout android:id="@+id/call_log_select_host_button_group"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        android:divider="@drawable/mydivider"
        android:showDividers="middle"
        android:dividerPadding="22dp">
        <Button android:id="@+id/call_log_select_btnCancel"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Cancel"
            style="?android:attr/borderlessButtonStyle" />

         <View    android:layout_width="1dp"
            android:layout_height="wrap_content"
            android:background="#ffffff" />

        <Button android:id="@+id/call_log_select_btnBlock"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Block"
            style="?android:attr/borderlessButtonStyle" />
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

  • 您也可以从当前主题中引用一个,而不是编写自己的mydivider.xml文件,即android:divider ="?android:attr/dividerHorizo​​ntal"或android:divider ="?android:attr/dividerVertical" - 适用于API 11以上. (5认同)
  • 它不适用于我的应用程序定位Android 4.4.2与min API 11 (4认同)

Jas*_*son 10

尝试更换android:divider="#ffffff"android:divider="@android:color/white".我怀疑是divider必须是Drawable,并且硬编码颜色可能不会像Drawable一样对待它,但可能会引用它.