我有问题。我创建了一个这样的LinearLayout:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:id="@+id/LayoutProfit"
android:layout_width="0dp"
android:layout_weight="20"
android:layout_height="27dp"
android:minWidth="0px"
android:minHeight="50px"
android:background="@drawable/list_divider_full">
现在,我要控制背景色和边框。我使用此行来控制背景色:
LayoutProfit.SetBackgroundColor(Color.ParseColor("#FFFFFF"));
和这条线来控制边框:
LayoutProfit.SetBackgroundResource(Resource.Drawable.list_divider_top_sides);
但是看起来还是颜色或边框。如何控制它们,以便它们都可见?
答案 0 :(得分:0)
调用LayoutProfit.SetBackgroundResource(Resource.Drawable.list_divider_top_sides);
时,它将覆盖您的LinearLayout背景("@drawable/list_divider_full"
),这就是为什么您失去设置的颜色的原因。
我建议使用android:background =“ @ drawable / list_divider_top_sides将LayoutProfit放在框架布局中。 确保添加list_divider_top_sides中定义的边框大小的填充。
答案 1 :(得分:0)
如果要控制LinearLayout的边框和背景颜色,建议您使用一个xml设置它们。在drawable中创建border.xml。
<?xml version="1.0" encoding="utf-8" ?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- border color -->
<item>
<shape>
<solid android:color="#00FF00" />
</shape>
<!-- background color -->
<item android:bottom="4dp" android:right="4dp" android:left="4dp"
android:top="4dp">
<shape>
<solid android:color="#ff3235" />
</shape>
</item>
</layer-list>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:id="@+id/LayoutProfit"
android:layout_width="match_parent"
android:layout_weight="20"
android:layout_height="match_parent"
android:background="@drawable/border"
>