如何为一些子成员设置卡片视图的角半径?

Posted

技术标签:

【中文标题】如何为一些子成员设置卡片视图的角半径?【英文标题】:How to set corner radius for cardview with some child members? 【发布时间】:2017-07-02 10:13:55 【问题描述】:

第一张图片是我的结果,我想让它看起来像第二张。我试图给出角半径,但它没有出现在屏幕上。我不知道是什么问题,而且父卡片视图也没有显示海拔。

提前谢谢你。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    android:background="#ffffff"
    tools:context="com.software_solutions.optimus_tech_project201709.CourseSelect.CourseSelectionActivity">

    <Button
        android:id="@+id/register"
        android:layout_
        android:layout_
        android:layout_alignParentRight="true"
        android:text="Register" />


    <Button
        android:id="@+id/you"
        android:layout_
        android:layout_
        android:layout_centerHorizontal="true"
        android:text="you" />

    <ImageView
        android:id="@+id/dialogImageView"
        android:layout_
        android:layout_
        android:scaleType="fitXY"
        android:src="@drawable/dialog"
        android:text="Hello" />

    <LinearLayout
        android:layout_
        android:layout_
        android:layout_below="@+id/dialogImageView"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="-180dp"
        android:gravity="center"
        android:orientation="vertical">

        <ImageView
            android:layout_
            android:layout_
            android:src="@drawable/select_course" />

        <TextView
            android:layout_
            android:layout_
            android:layout_marginTop="20dp"
            android:text="SELECT A COURSE"
            android:textColor="#ffffff"
            android:textSize="25dp"
            android:textStyle="bold" />
    </LinearLayout>

    <Button
        android:id="@+id/button1"
        android:layout_
        android:layout_
        android:text="OK" />


    <LinearLayout
        android:layout_
        android:layout_
        android:layout_below="@+id/dialogImageView"
        android:orientation="vertical"
        android:weightSum="2">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerViewSelectCourse"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:padding="5dp" />


        <android.support.v7.widget.CardView
            android:id="@+id/cardViewDemo1"
            android:layout_
            android:layout_
            android:layout_margin="10dp"
            android:layout_weight="1"
            android:elevation="3dp"
            app:cardCornerRadius="10dp">

            <LinearLayout
                android:layout_
                android:layout_
                android:background="#e4a455"
                android:orientation="vertical"
                android:padding="10dp"
                android:weightSum="3">

                <android.support.v7.widget.CardView
                    android:id="@+id/cardViewDemo2"
                    android:layout_
                    android:layout_
                    android:layout_weight="1"
                    app:cardCornerRadius="10dp">

                    <ImageView
                        android:layout_
                        android:layout_
                        android:scaleType="fitXY"
                        android:src="@drawable/demo_one" />

                </android.support.v7.widget.CardView>

                <android.support.v7.widget.CardView
                    android:id="@+id/cardViewDemo3"
                    android:layout_
                    android:layout_
                    android:layout_below="@id/cardViewDemo2"
                    android:layout_marginTop="5dp"
                    android:layout_weight="2"
                    app:cardCornerRadius="10dp">

                    <RelativeLayout
                        android:layout_
                        android:layout_
                        android:background="#e9cca8">

                        <TextView
                            android:layout_
                            android:layout_
                            android:layout_centerInParent="true"
                            android:text="DEMOVIDEOONE"
                            android:textColor="#fff"
                            android:textSize="15sp"
                            android:textStyle="bold" />

                    </RelativeLayout>
                </android.support.v7.widget.CardView>
            </LinearLayout>


        </android.support.v7.widget.CardView>

    </LinearLayout>

</RelativeLayout>

【问题讨论】:

【参考方案1】:

添加app:cardBackgroundColor="#e9cca8" app:cardBackgroundColor="#e4a455" 并从您的孩子RelativeLayout 和LinearLayout 中删除背景

你有 3 个 CardView,在第 3 个 CardView 中,你只有 ImageView,所以最好不要使用 CardView,你可以使用圆角图像视图。

【讨论】:

只需添加cardCornerRadius即可。 Dennis,cardRadiud 已经存在,问题是子背景 是的,我做到了,这就是我删除评论的原因。 :p【参考方案2】:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:crad_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:background="#ffffff"
tools:context="com.software_solutions.optimus_tech_project201709.CourseSelect.CourseSelectionActivity">

<Button
    android:id="@+id/register"
    android:layout_
    android:layout_
    android:layout_alignParentRight="true"
    android:text="Register" />


<Button
    android:id="@+id/you"
    android:layout_
    android:layout_
    android:layout_centerHorizontal="true"
    android:text="you" />

<ImageView
    android:id="@+id/dialogImageView"
    android:layout_
    android:layout_
    android:scaleType="fitXY"
    android:src="@drawable/dialog"
    android:text="Hello" />

<LinearLayout
    android:layout_
    android:layout_
    android:layout_below="@+id/dialogImageView"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="-180dp"
    android:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:layout_
        android:layout_
        android:src="@drawable/select_course" />

    <TextView
        android:layout_
        android:layout_
        android:layout_marginTop="20dp"
        android:text="SELECT A COURSE"
        android:textColor="#ffffff"
        android:textSize="25dp"
        android:textStyle="bold" />
</LinearLayout>

<Button
    android:id="@+id/button1"
    android:layout_
    android:layout_
    android:text="OK" />


<LinearLayout
    android:layout_
    android:layout_
    android:layout_below="@+id/dialogImageView"
    android:orientation="vertical"
    android:weightSum="2">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerViewSelectCourse"
        android:layout_
        android:layout_
        android:layout_weight="1"
        android:padding="5dp" />


    <android.support.v7.widget.CardView
        android:id="@+id/cardViewDemo1"
        android:layout_
        android:layout_
        android:layout_margin="10dp"
        android:layout_weight="1"
        android:elevation="3dp"
        card_view:cardCornerRadius="0dp"
        card_view:cardElevation="3dp">

        <LinearLayout
            android:layout_
            android:layout_
            android:background="#e4a455"
            android:orientation="vertical"
            android:padding="10dp"
            android:weightSum="3">

            <android.support.v7.widget.CardView
                android:id="@+id/cardViewDemo2"
                android:layout_
                android:layout_
                android:layout_weight="1"
                card_view:cardCornerRadius="4dp"
                card_view:cardElevation="0dp">

                <ImageView
                    android:layout_
                    android:layout_
                    android:scaleType="fitXY"
                    android:src="@drawable/demo_one" />

            </android.support.v7.widget.CardView>

            <android.support.v7.widget.CardView
                android:id="@+id/cardViewDemo3"
                android:layout_
                android:layout_
                android:layout_below="@id/cardViewDemo2"
                android:layout_marginTop="5dp"
                android:layout_weight="2"
                app:cardCornerRadius="10dp">

                <RelativeLayout
                    android:layout_
                    android:layout_
                    android:background="#e9cca8">

                    <TextView
                        android:layout_
                        android:layout_
                        android:layout_centerInParent="true"
                        android:text="DEMOVIDEOONE"
                        android:textColor="#fff"
                        android:textSize="15sp"
                        android:textStyle="bold" />

                </RelativeLayout>
            </android.support.v7.widget.CardView>
        </LinearLayout>


    </android.support.v7.widget.CardView>

</LinearLayout>

【讨论】:

以上是关于如何为一些子成员设置卡片视图的角半径?的主要内容,如果未能解决你的问题,请参考以下文章

获取视图的角半径值

未显示超级视图子视图 UIView 的角半径

如何在表格视图单元格中的视图内设置视图的角半径?

如何为 UIView 添加圆角半径

视图上的角半径和阴影突然不起作用

当superview也获得角半径时,子视图的SwiftUI角半径会发生变化