Android LinearLayout:分频器不会显示

时间:2013-08-18 22:09:25

标签: android android-linearlayout android-drawable divider xml-drawable

我正在尝试设置一个分隔符,以便在我的应用列表中使用。我已经为“dicedivider”制作了如下所示的XML代码

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
   android:width="1px"
   android:color="@color/divider_Color"
   />

</shape>

然后我尝试将其设置为我的LinearLayout可绘制的分隔符,如下所示

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    diceCount = 0;
    diceList = (LinearLayout) this.findViewById(R.id.main_Dice_List);

    diceList.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
    diceList.setDividerDrawable(this.getResources().getDrawable(R.drawable.dicedivider));
    diceList.setDividerPadding(5);
    addDice();
}

尽管如此,该应用程序显示没有分隔线。我甚至尝试将它直接嵌入到XML中而没有任何运气。

我是Android编码的新手。知道我哪里错了吗?

4 个答案:

答案 0 :(得分:0)

您可以在xml中使用

<View 
        android:layout_width="fill_parent"
        android:layout_height="1dp"       android:Background="@android:color/darker_gray"/>

在布局之后设置分隔符

答案 1 :(得分:0)

尝试使用shape ="rectangle"代替line

<shape
    android:shape="rectangle">

    <size android:height="1px" />
    <solid android:color="@color/white" />

</shape>

答案 2 :(得分:0)

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

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

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

<LinearLayout android:id="@+id/linearlayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:divider="@drawable/mydivider"
    android:showDividers="middle"
    android:dividerPadding="22dp">    
</LinearLayout>

答案 3 :(得分:-3)

您必须将分隔符设置为listView,而不是LinearLayout