子背景属性覆盖父圆角背景

use*_*140 9 android android-layout android-drawable

我使用包含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"/>
Run Code Online (Sandbox Code Playgroud)

@绘制/ 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>
Run Code Online (Sandbox Code Playgroud)

小智 1

首先,您必须为文本视图A制作一个不同的选择器,您需要在选择器文件中设置角点:

  <corners
   android:bottomLeftRadius="5dp"
   android:topLeftRadius="5dp">
  </corners>
Run Code Online (Sandbox Code Playgroud)

根据您的需要更改半径值