Android子控件超出父控件的范围显示出来方法

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false">
 
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="60dp"
        android:background="@mipmap/www" />
 
 
    <LinearLayout
        android:id="@+id/ll_bottom"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:background="#F8549D"
        android:elevation="10dp"
        android:orientation="horizontal">
 
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="bottom"
            android:layout_weight="1">
 
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:src="@mipmap/ic_launcher" />
 
        </RelativeLayout>
 
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="bottom"
            android:layout_weight="1">
 
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:src="@mipmap/ic_launcher" />
 
        </RelativeLayout>
 
        <RelativeLayout
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_gravity="bottom"
            android:background="@drawable/bottom_bg_shape">
 
            <ImageView
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_centerInParent="true"
                android:src="@mipmap/icon_go" />
 
        </RelativeLayout>
 
 
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="bottom"
            android:layout_weight="1">
 
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:src="@mipmap/ic_launcher" />
 
        </RelativeLayout>
 
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="bottom"
            android:layout_weight="1">
 
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:src="@mipmap/ic_launcher" />
 
        </RelativeLayout>
    </LinearLayout>
 
</RelativeLayout>

这张图呢是我刚刚做的,效果是参考了酷狗音乐播放器来完成的,我想说明重点在底部的导航栏:如图

 再来一张反效果预览图:
 
 

 

 如何使得蓝色圆形的播放键的显示越过粉色的范围。当然经过合理的布局是可以达到这样的效果的,但是却有更简单的方法。也就是在根布局的属性中加入一个来自Android自身提供的属性:

android:clipChildren="false"

属性解释和说明:

1、android:clipChildren的意思:是否限制子View在其范围内

2、可以通过android:layout_gravity控制超出的部分如何显示。

3、只需在根节点设置android:clipChildren为false即可,默认为true

时间: 2024-10-01 17:25:31

Android子控件超出父控件的范围显示出来方法的相关文章

如何让安卓(Android)子控件超出父控件的范围显示_Android

先来看一张预览图:   废话不多说,直接上代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:clipChildren="false"> <Im

控件位置-c#如何让自定义控件中的控件随父控件变化而其位置按比例变化

问题描述 c#如何让自定义控件中的控件随父控件变化而其位置按比例变化 如图,如何让c随着b的变化而变化,b是自定义控件 解决方案 你可以通过dock和anchors控制它的自动位置,你所说的按比例,没明白,感觉你可能需要写代码,在resize事件中处理具体比例 解决方案二: 我做过一个类似的,就是在resize中计算相对应的比例然后缩放控件大小再计算对应位置重新放置控件. 解决方案三: 这个最简单的是用flowlayoutpanel和tablelayoutpanel去布局,子控件dock在里面就

Android 子activity关闭 向父activity传值

    使用startActivity方式启动的Activity和它的父Activity无关,当它关闭时也不会提供任何反馈.   可变通的,你可以启动一个Activity作为子Activity,它与父Activity有内在的联系.当子Activity关闭时,它会触发父Activity中的一个事件处理函数.子Activity最适合用在一个Activity为其它的Activity提供数据(例如用户从一个列表中选择一个项目)的场合.   子Activity的创建和普通Activity的创建相同,也必须

ios 子控件被添加到父控件时会不会通知子控件?

问题描述 ios 子控件被添加到父控件时会不会通知子控件? 我有一个类继承UITextField,这个类里面还有一个控件,想在这个类被添加到父控件时,也把那个控件添加进去,怎么办? 解决方案 类被添加到父控件,是如何增加的呢?如果是代码,则需要你在代码中来设置这个类的控件的父控件.这个无法自动实现吧! 你这个所谓的控件,与 你 继承UITextField类是什么关系呢?如果已经是父子关系,则不用再设置了. 解决方案二: 你直接用代码来绑定.这样就可以控制控件等

如何通过C#的反射机制,通过控件名获取控件(并且这个控件本身是动态生成的)

问题描述 我知道可以通过下面这种方式通过控件名获取控件TextBoxtextbox=(TextBox)this.GetType().GetField("Textbox的名称",System.Reflection.BindingFlags.NonPublic|System.Reflection.BindingFlags.Instance|System.Reflection.BindingFlags.IgnoreCase).GetValue(this);但是,如果这个控件是自己用代码生成的

relativelayout-相对布局中,父控件高wrap_content子控件match_parent子控件高占据屏幕

问题描述 相对布局中,父控件高wrap_content子控件match_parent子控件高占据屏幕 相对布局中,relativelayout 的高度设置为 wrap_content ,子控件imageview的高度 设置为 match_parent ,为什么 ,imageview 高度为占据整个屏幕 解决方案 因为imageview没有具体高度,所以它就最大程度充满容器,所以它的父容器就随他的高度而自动适应 解决方案二: 相对布局的高度是自适应,它所包含的imageview控件高度是撑满的,所

WPF Frame做导航的时候 在子页面怎么获取父窗口的控件

问题描述 RTWPFFrame做导航的时候在子页面怎么获取父窗口的控件?比如<FrameDockPanel.Dock="Top"x:Name="MainFrame"NavigationUIVisibility="Hidden"Source="Welcome.xaml"/> 在Welcome.xaml页面里面怎么获取父窗口的控件并且定义事件? 解决方案 解决方案二:自己顶!!!!!解决方案三:没人来?自己顶!解决方案

请教:如何在子窗口中使用父窗口中的listview控件?!

问题描述 有一个父窗口和子窗口.现在想在子窗口中使用父窗口中的listview,请问该如何做呢? 解决方案 解决方案二:写个管理类,对父窗口的界面管理.字窗口能访问这个管理类就行了!解决方案三:ListViewlist=(ListView)Application.OpenForms["Form1"].Controls["listView1"];if(list!=null)...... 解决方案四:在show子窗口的时候,将ListView传递给它

Android自定义控件实战——下拉刷新控件终结者:PullToRefreshLayout

转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38340701            说到下拉刷新控件,网上版本有很多,很多软件也都有下拉刷新功能.有一个叫XListView的,我看别人用过,没看过是咋实现的,看这名字估计是继承自ListView修改的,不过效果看起来挺丑的,也没什么扩展性,太单调了.看了QQ2014的列表下拉刷新,发现挺好看的,我喜欢,贴一下图看一下qq的下拉刷新效果: