Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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 安卓&x2B;设置可在线性布局上绘制的分割线?_Android_Drawable_Android Linearlayout - Fatal编程技术网

Android 安卓&x2B;设置可在线性布局上绘制的分割线?

Android 安卓&x2B;设置可在线性布局上绘制的分割线?,android,drawable,android-linearlayout,Android,Drawable,Android Linearlayout,我对向LinearLayout的子对象动态添加分隔符感兴趣。我在文档中看到LinearLayout包含一个常量“SHOW\u DIVIDER\u MIDDLE”以及get和set DIVIDER方法。有人能告诉我如何实现它吗?谢谢 “这不起作用” 布局xml: <LinearLayout android:id="@+id/bar" android:orientation="horizontal" android:layout_height="40dip"

我对向LinearLayout的子对象动态添加分隔符感兴趣。我在文档中看到LinearLayout包含一个常量“SHOW\u DIVIDER\u MIDDLE”以及get和set DIVIDER方法。有人能告诉我如何实现它吗?谢谢

“这不起作用”

布局xml:

<LinearLayout android:id="@+id/bar"
        android:orientation="horizontal" 
        android:layout_height="40dip" android:layout_width="fill_parent"
        android:background="@drawable/ab_background_gradient" android:gravity="right|center_vertical">

        <!-- sort button -->
        <Button android:id="@+id/sortBtn" android:background="@drawable/defaultt"
                android:layout_width="30dip" android:layout_height="30dip" android:onClick="sortThis" />

        <!-- add button -->
        <Button android:id="@+id/addBtn" android:background="@drawable/defaultt"
                android:layout_width="30dip" android:layout_height="30dip" android:onClick="addThis" />
    </LinearLayout>
...
private void setupViews() {
        //bar
        mBar = (LinearLayout) findViewById(R.id.bar);
        mBar.setDividerDrawable(R.drawable.divider);
}

您需要将从
R.drawable.divider
返回的资源id转换为可绘制对象,ala:

导入android.content.res.Resources;
...
创建时的公共void(Bundle savedInstanceState){
...
Resources res=this.getResources();
LinearLayout布局=新的LinearLayout(本);
布局。设置显示分隔符(LinearLayout.SHOW_DIVIDER|u MIDDLE | LinearLayout.SHOW_DIVIDER|u begin | LinearLayout.SHOW_DIVIDER|u END);
布局.setDividerDrawable(res.getDrawable(R.drawable.divider));
...
}
...

这假定您的资源目录中有一个名为'divider.jpg'(或类似文件)的文件。

这是可行的,但请注意,setShowDividers是在API级别11(蜂巢)中添加的@如果您愿意,您可以使用ActionBarSherlock中的IcsLinearLayout,但请注意,它并不打算被使用。还有支持库中的LinearLayoutICS Xamarin开发者使用这个_tabLayout.SetDividerDrawable(Resources.GetDrawable(Resource.Drawable.divider));