以编程方式在TextView下绘制线条

时间:2016-11-11 19:18:02

标签: android textview

我有一个动态添加TextView的布局:

TextView msg = new TextView(this);
TextView Bmsg = new TextView(this);
msg.setText(splittedItem[0]);
msg.setTextColor(0xFF2C85A6);
msg.setTextSize(22);
msg.setPadding(10, 10, 0, 10);
Bmsg.setText("- "+splittedItem[1]);
Bmsg.setPadding(20, 0, 10, 30);
Bmsg.setTextSize(18);
linearLayout.addView(msg);
linearLayout.addView(Bmsg);

我希望将每个TextView划分为这样一行:

我需要Bmsg下的一行。我找到了这个 - draw line under TextView on Android,但我不明白如何以编程方式进行此操作。

XML中的

 <LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/buttonlayout">
 </LinearLayout>

3 个答案:

答案 0 :(得分:1)

使用此功能,让我知道它是否有效

View view = new View(this);
view.setLayoutParams(new LinearLayout.LayoutParams(
    LayoutParams.MATCH_PARENT,2
));
view.setBackgroundColor(Color.parseColor("#000000"));

linearlayout.addView(view);

答案 1 :(得分:0)

您可以将其添加到样式列表中:

   <style name="DividerHorizontal">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">1dp</item>
        <item name="android:background">?android:attr/listDivider</item>
    </style>

    <style name="DividerVertical">
        <item name="android:layout_width">1dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:background">?android:attr/listDivider</item>
    </style>

完成后,您可以使用以下视图调用它:

   <View style="@style/DividerHorizontal"
        android:layout_alignParentTop="true"
        android:id="@+id/topDivider" />

修改

由于您似乎想要创建一个列表,只需使用ListView并执行类似的操作或在代码中使用它:

    mListView = getListView();
    mAdapter = new ServersListAdapter(this, new String[] {},
            new String[] {}, new String[] {});
    int[] colors = { Color.parseColor("#D3D3D3"), Color.parseColor("#D3D3D3"), Color.parseColor("#D3D3D3") };
    mListView.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));

答案 2 :(得分:0)

我建议使用RecyclerView来显示TextView,这可以为您提供更好的灵活性,并且取决于您的操作,也可以提供更好的性能。

您可以使用RecyclerView.ItemDecoration制作分隔符(以及其他内容)。