it-swarm.com.de

LinearLayout-Teiler werden nicht angezeigt

Ich arbeite an einem Android-Projekt und habe ein LinearLayout, das 2 horizontale Schaltflächen im randlosen Schaltflächenstil enthält. 

Ich versuche, Trennungen zwischen den einzelnen Tasten anzuzeigen, aber sie werden nicht angezeigt, aber ich kann keinen Grund dafür erkennen, warum dies nicht der Fall ist. Unten ist das XML-Layout:

<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>

Vielen Dank für Ihre Hilfe. 

24
Boardy

Erstellen Sie eine Datei mydivider.xml in res/drawable und fügen Sie die folgende Form ein

<?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>

fügen Sie die Form als Trennlinie für Ihr Layout hinzu

<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>

oder als Workaround:

<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>
88
Blackbelt

Versuchen Sie, Android:divider="#ffffff" durch Android:divider="@Android:color/white" zu ersetzen. Mein Verdacht ist, dass divider ein Drawable sein muss, und die Farbe der Farbe kann nicht als Drawable behandelt werden.

10
Jason Robinson

Sie sollten Android:layout_width="fill_parent" und Android:layout_height="fill_parent" in Ihrem LinearLayout hinzufügen. So wird es zeigen;)

0
Wannabe