【问题标题】:Parent view is overlapped by child view父视图与子视图重叠
【发布时间】:2018-04-07 10:46:17
【问题描述】:

我正在开发一个 Android 应用程序,我想在其中使用 RecyclerView 显示 GridView。

我可以为一个项目创建单独的布局并在 GridView 中动态显示它。但是我遇到了在每个项目的右上角显示刻度线的问题。

刻度线被 CardView 隐藏了

这是我的 item_grid.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="110dp"
    android:layout_height="110dp">

    <android.support.v7.widget.CardView
        android:id="@+id/cardView2"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginTop="10dp"
        android:elevation="@dimen/activity_horizontal_margin">

        <ImageView
            android:id="@+id/image_hobby_bg"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="10dp"
            android:src="@drawable/cycling" />


        <TextView
            android:id="@+id/text_hobby_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:background="@color/colorAccent"
            android:gravity="center"
            android:padding="3dp"
            android:paddingBottom="15dp"
            android:paddingTop="15dp"
            android:text="CYCLING"
            android:textColor="@android:color/white"
            android:textSize="12sp"
            android:textStyle="bold" />


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

    <ImageView
        android:id="@+id/image_hobby_selected_icon"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_gravity="top|right"
        android:adjustViewBounds="true"
        android:src="@drawable/all_checked_round" />

</FrameLayout>

我尝试了bringToFront() 方法,但它不起作用。

  viewHolder.checkMark.bringToFront();
        ((View) viewHolder.checkMark.getParent()).invalidate();
        (viewHolder.checkMark.getParent()).requestLayout();

请帮我找到解决办法。

【问题讨论】:

    标签: android user-interface


    【解决方案1】:

    请使用海拔

    如果您的卡片视图的高程为 10dp,则将 imageView 中的高程设置为 11dp。

     <ImageView
            android:id="@+id/image_hobby_selected_icon"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_gravity="top|right"
            android:adjustViewBounds="true"
            android:src="@drawable/ic_camera"
            android:elevation="13dp"
            />
    

    【讨论】:

    • 太棒了 :-) 非常感谢 :-) 这就像一个不费吹灰之力的魅力 :-)
    猜你喜欢
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多