Android 安卓&x2B;设置可在线性布局上绘制的分割线?
我对向LinearLayout的子对象动态添加分隔符感兴趣。我在文档中看到LinearLayout包含一个常量“SHOW\u DIVIDER\u MIDDLE”以及get和set DIVIDER方法。有人能告诉我如何实现它吗?谢谢 “这不起作用” 布局xml: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 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));