如何以编程方式在Android中制作水平线

2022-09-03 17:01:56

我正在尝试以编程方式填充线性布局,如下所示

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LayoutParams.WRAP_CONTENT,      
            LayoutParams.WRAP_CONTENT
    );
    params.setMargins(dpToPx(6), 0, 0, 0);
    kac.setLayoutParams(params);
    LinearLay.addView(kac);

我想添加(在每个TextView(如kac)之后)一条水平线,就像我在xml中的这条线一样

 <View
            android:layout_width="fill_parent"
            android:layout_height="1dip"
            android:background="#B3B3B3" 
             android:padding="10dp"
            />

答案 1
View v = new View(this);
v.setLayoutParams(new LinearLayout.LayoutParams(
        LayoutParams.MATCH_PARENT,      
        5
));
v.setBackgroundColor(Color.parseColor("#B3B3B3"));

LinearLay.addView(v);

答案 2

我建议创建一个包含线条的可绘制对象,并将其设置为文本视图的背景。您将避免不必要的视图。

可绘制的示例可以是:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#LINE_COLOR"/>
            <padding
                android:bottom="1dp"
                />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#BACKGROUND_COLOR"/>
        </shape>
    </item>
</layer-list>

您可以通过以下方式进行设置

textView.setBackgroundResource(R.drawable.resource)

推荐