我有这个 LinearLayout:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="100dp"
android:layout_height="70dp"
android:src="@drawable/ic_launcher"
android:scaleType="centerCrop"/>
<TextView
android:layout_width="100dp"
android:layout_height="30dp"
android:background="#FFD800"
android:textColor="@android:color/black"
android:gravity="center"
android:text="Text View"/>
</LinearLayout>
我想用圆角遮住它,像这样:
我试着把它放在一个 FrameLayout 中,另一个布局在它上面有 shape.xml,
但我得到的最多的是:
或
我正在寻找一种使用 shape.xml 背景的方法,
但是边框里面是透明的,外面是白色的。
我的 shape.xml:
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#FFFFFF">
</solid>
<stroke
android:width="2dp"
android:color="#000000" >
</stroke>
<padding
android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp">
</padding>
<corners
android:radius="50dp">
</corners>
</shape>
最佳答案
创建一个外部有白色圆角、中间透明的九补丁(“反向九补丁”)并将其放在 LinearLayout 的顶部。这是一种常见的做法。
关于android - 具有圆角 xml 形状的掩码布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25762867/