我使用包含Clickable TextView的LinearLayout创建了一个导航栏,对于包含LinearLayout我设置了一个背景形状XML来创建圆角,问题是,当用户点击我设置为标签颜色背景的其中一个标签时,圆角覆盖,我在容器中而不是在标签中设置圆角的原因是因为左右\左右语言。
点击
之前点击
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:background="@drawable/rounded_corners"
android:layout_height="40dp"
android:layout_margin="10dp">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textColor="@color/registerButton"
android:gravity="center"
android:text="A"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/registerButton">
</View>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:textColor="@color/registerButton"
android:text="B"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/registerButton">
</View>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textColor="@color/registerButton"
android:gravity="center"
android:text="C"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/registerButton">
</View>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textColor="@color/registerButton"
android:gravity="center"
android:text="D"/>
@绘制/ rounded_corners
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<stroke android:width="1dip" android:color="@color/registerButton" />
<corners android:radius="8dip"/>
<padding android:color="@color/registerButton"
android:left="0dip"
android:top="0dip"
android:right="0dip"
android:bottom="0dip" />
</shape>
答案 0 :(得分:1)
首先,您必须为文本视图 A 创建一个独特的选择器,您需要在选择器文件中设置角落:
<corners
android:bottomLeftRadius="5dp"
android:topLeftRadius="5dp">
</corners>
根据您的需要改变radiaus值
答案 1 :(得分:0)
创建另一个xml文件,如下所示,并将其保存在drawables文件夹中。
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#0066ff"/> //new blue color, change the color code as you wish
<stroke android:width="1dip" android:color="@color/registerButton" />
<corners android:radius="8dip"/>
<padding android:color="@color/registerButton"
android:left="0dip"
android:top="0dip"
android:right="0dip"
android:bottom="0dip" />
</shape>
在你的java类文件中,处理onclick并将背景设置为新创建的文件。