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:分隔线不会显示的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 分隔线不显示在 iPhone 应用程序中

echarts解决双Y轴刻度线不对齐问题

echarts解决双Y轴刻度线不对齐问题

预蜂窝上带有分隔线的 LinearLayout

个人知识体系(持续更新)

个人知识体系(持续更新)