鍍金池/ 問(wèn)答/Android/ android 怎么讓子View 顯示超出自身容器的大?。?/span>

android 怎么讓子View 顯示超出自身容器的大???

這是我利用android:clipChildren屬性的效果。
圖片描述
兩層ViewGroup分別調(diào)整clipChildren屬性

但是這個(gè)屬性是屬于ViewGroup的,具體顯示范圍的處理都在ViewGrounp#getChildVisibleRect中,

所以一個(gè)ViewGroup只能讓它的所有子View同時(shí)可以超出自身或者同時(shí)不能超出自身。

我嘗試尋找記錄View可顯示區(qū)域到對(duì)象。但是沒(méi)有結(jié)果,所以請(qǐng)問(wèn)android有什么辦法可以讓一個(gè)View自由的調(diào)整它自己的顯示區(qū)域?不對(duì)它的同層級(jí)View造成影響呢?

<LinearLayout
    android:layout_width="300dp"
    android:orientation="vertical"
    android:layout_height="300dp">
    <View
        android:id="@+id/top"
        android:layout_width="100dp"
        android:layout_height="100dp" />
    <View
        android:id="@+id/bottom"
        android:layout_width="100dp"
        android:layout_height="100dp" />
</LinearLayout>

top可以超出100*100的顯示范圍限制,而不影響bottom的顯示范圍控制在100*100中?


問(wèn)題更新

但是如果我在API21上 使用了 <ripple/>作為控件的背景。

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#FF0000" />

并且父控件沒(méi)有使用clipChildren = false,這個(gè)背景仍然可以超出控件的大?。∷峭ㄟ^(guò)什么辦到的呢?

回答
編輯回答
念舊

不清楚你為什么一定要在規(guī)定大小的容器內(nèi)讓子view全部展示。假如你只是單純的想要子view展示在該容器頂端為什么不直接在外面添加一個(gè)覆蓋容器了?

2018年2月7日 11:59
編輯回答
尕筱澄

只能往自定義方向走了

2017年10月23日 14:46
編輯回答
落殤

父View使用RelativeLayout(全屏),里面的view想顯示到哪就能顯示到哪, 不影響同層級(jí)的View

2017年12月28日 17:44
編輯回答
拼未來(lái)

自定義group 測(cè)量子view 位置大小

2017年10月5日 14:10