Android LinearLayout:分隔线不会显示
Posted
技术标签:
【中文标题】Android LinearLayout:分隔线不会显示【英文标题】:Android LinearLayout: Dividers won't show 【发布时间】:2013-08-20 16:17:51 【问题描述】:我正在尝试为我的应用设置一个要在列表中使用的分隔符。我已经为“dicedivider”制作了 XML 代码,如下所示
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:
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 编码的新手。知道我哪里出错了吗?
【问题讨论】:
查看代码示例 [here][1],我也支持旧设备。 [1]:***.com/questions/22547897/… 不要忘记android:showDividers
项目!
【参考方案1】:
在 res/drawable 中创建一个 mydivider.xml 文件并放入以下形状:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<size android: />
<solid android:color="#ffffff" />
</shape>
将形状添加为布局的分隔符
<LinearLayout android:id="@+id/linearlayout"
android:layout_
android:layout_
android:orientation="horizontal"
android:divider="@drawable/mydivider"
android:showDividers="middle"
android:dividerPadding="22dp">
</LinearLayout>
【讨论】:
【参考方案2】:你可以在xml中使用
<View
android:layout_
android:layout_ android:Background="@android:color/darker_gray"/>
在布局之后设置分隔符
【讨论】:
这是我经过一番折腾后得到的解决方案(尽管我在 Java 代码中创建了视图,因为我需要动态添加它们)。可惜实际的android代码不起作用。它会更优雅。 为什么不通过代码动态添加这个视图呢?您创建一个线性布局,然后在该线性之后添加此视图。这不是适合您的解决方案吗?【参考方案3】:尝试使用shape ="rectangle"
而不是line
。
<shape
android:shape="rectangle">
<size android: />
<solid android:color="@color/white" />
</shape>
【讨论】:
【参考方案4】:您必须将分隔线设置为 listView,而不是 LinearLayout
【讨论】:
没有ListView。只有一个线性布局。据我所知,当我编写此代码时,ListView 不会做我想做的事情。此 LinearLayout 包含一系列其他 LinearLayout,其中包含所有有用的小部件等。我需要代码。当我在 ListView 上查找信息时,它只能包含另一个没有子视图的视图。 LinearLayout 存在分隔方法。如果他们不工作,为什么他们在那里?以上是关于Android LinearLayout:分隔线不会显示的主要内容,如果未能解决你的问题,请参考以下文章