使用Relalayout实现层叠式布局

本文详细介绍了RelativeLayout布局原理及其XML实现方式,通过实例展示了如何利用RelativeLayout来创建复杂的UI布局,并且介绍了如何为视图创建虚线背景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1) RelaLayout布局原理

RelalitveLayout布局使用的是堆栈原理,也就是在RelativeLayout布局中的组件,越是在先定义的控件就越在底层显示,后创建的控件在其上面显示,在实现原理上就是堆栈原理。

2) 实现效果

 

3) Xml布局

<RelativeLayout

   android:id="@+id/viewImageBox1"

         android:layout_width="90dp"

         android:layout_height="90dp">

         

<ImageView

           android:layout_width="80dp"

           android:layout_height="80dp"

           android:layout_centerInParent="true"

           android:adjustViewBounds="true"

           android:scaleType="fitXY"

         android:src="@drawable/community_card_style">

  </ImageView>

       <ImageView

          android:layout_width="40dp"

         android:layout_height="40dp"

android:layout_centerInParent="true"

         android:adjustViewBounds="true"

android:scaleType="fitXY"

         android:src="@drawable/community_card_add"

       </ImageView>

 

       <ImageView

            android:layout_width="80dp"

         android:layout_height="80dp"

          android:layout_centerInParent="true"

           android:adjustViewBounds="true"

            android:scaleType="centerCrop"

            android:visibility="gone" />

 

        <ImageView

            android:layout_width="20dp"

         android:layout_height="20dp"

         android:layout_alignParentRight="true"

         android:layout_alignParentTop="true"

         android:layout_marginBottom="10dp">

         android:layout_marginLeft="10dp"

         android:adjustViewBounds="true"

         android:scaleType="fitXY"

         android:src="@drawable/icon_close_red"

            android:visibility="gone"

        </RelativeLayout>

4) 创建虚线背景

5) <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        
android:bottom="1dp"
        
android:left="1dp"
        
android:right="1dp"
        
android:top="1dp">
        <shape>
            <stroke
                
android:dashGap="3dp"
                
android:dashWidth="8dp"
                
android:width="2.5dp"
                
android:color="#c5c5c5" />

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

            <corners android:radius="5dp" />
        </shape>
    </item>

</layer-list>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值