首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ImageView拒绝父元素的圆角和边框

ImageView拒绝父元素的圆角和边框
EN

Stack Overflow用户
提问于 2020-03-31 08:20:38
回答 3查看 554关注 0票数 2

我有一个有多个孩子的视图,我想给整个组一个圆角,如下所示:

我试图通过给父LinearLayout和它的ImageView提供背景圆角来做到这一点

LinearLayout和子进程:

代码语言:javascript
复制
<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="20dp"
            android:layout_marginRight="20dp"
            android:background="@drawable/tile_background"
            android:elevation="1dp"
            android:orientation="vertical">


            <ImageView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/image_frame_sponsorship"
                android:coverTileUrl="@{sponsorship.coverTileUri}">

            </ImageView>


            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:gravity="center_vertical"
                android:paddingLeft="20dp">

                <TextView
                    android:id="@+id/postActionText"
                    style="@style/ActionFont"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="6dp"
                    tools:text="@string/watch_respond">

                </TextView>

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:src="@drawable/ic_chevron_right_black_36dp">

                </ImageView>


            </RelativeLayout>


        </LinearLayout>

LinearLayout背景:

代码语言:javascript
复制
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF" />
    <stroke
        android:width="1dp"
        android:color="#D2DADC" />
    <corners android:radius="10dp" />
    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp" />
</shape>

ImageView背景:

代码语言:javascript
复制
  <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <corners
                android:topLeftRadius="10dp"
                android:topRightRadius="10dp"/>
            <solid android:color="@android:color/white" />

            <stroke
                android:width="1dp"
                android:color="@color/white" />
        </shape>

LinearLayout采用了圆角,但imageView的顶部两个角没有,溢出了角,显然是它的父代的边界:

我如何让ImageView运行起来?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-31 21:30:26

使imageview的所有角都变圆。底部将隐藏在线性布局的后面。

票数 1
EN

Stack Overflow用户

发布于 2020-03-31 08:35:29

您可以使用此代码创建的此形状:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >

<corners
    android:bottomLeftRadius="10dp"
    android:bottomRightRadius="10dp"
    android:radius="10dp"
    android:topLeftRadius="10dp"
    android:topRightRadius="10dp" />

<solid android:color="#FFFF" />

<padding
    android:bottom="0dp"
    android:left="0dp"
    android:right="0dp"
    android:top="0dp" />

<size
    android:height="60dp"
    android:width="270dp" />

 </shape>
票数 0
EN

Stack Overflow用户

发布于 2020-03-31 21:26:46

我最终只给了ImageView四个圆角和视图底部的白色线性布局,作为一种变通办法,它的顶部边缘是负的,以覆盖底部的两个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60941554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档