以编程方式将边框设置为LinearLayout

时间:2016-12-16 01:34:58

标签: android android-layout

当用户点击它时,我需要为LinearLayout设置边框。到目前为止,我尝试过的每个解决方案都会改变所有LinearLayout的颜色,而不仅仅是边框。

<LinearLayout
    android:id="@+id/linearlayout_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:clickable="true"
    android:paddingBottom="3dp"
    android:paddingLeft="10dp"
    android:paddingRight="3dp"
    android:paddingTop="10dp>
</LinearLayout>

以及我用来添加边框的代码:

GradientDrawable drawable = new GradientDrawable();
drawable.setShape(GradientDrawable.RECTANGLE);
drawable.setStroke(1, Color.BLACK);
relativelayout_main.setBackgroundDrawable(drawable);

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我会考虑使用一个背景资源项,使用一个选择器来点击/不点击状态,它使用具有特定颜色/笔触宽度的形状或类似的东西。

类似于此处列出的内容https://stackoverflow.com/a/8203840/3934023,但与选择器结合使用,仅在点击状态下使用,例如在此答案中:https://stackoverflow.com/a/5295522/3934023