關(guān)于clipChildren屬性無效的原因

clipChildren的意思是 是否限制子View在其范圍內(nèi),默認為true。

常規(guī)原因

  • clipChildren屬性需要設置在祖父組件中,即父組件的父組件。
  • 需要解除繪制限制的View需要通過android:layout_gravity="" 來設置超出部分如何顯示。常用設置Bottom。

自身項目中設置該屬性無效的原因

  • 在ViewGroup里設置了padding屬性
解決辦法:
  • 刪除不必要的padding屬性
  • 如果padding屬性為必須,則需要在設置了padding屬性的viewgroup里設置屬性 android:clipToPadding="false"
    原代碼:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false">

        <RadioGroup
            android:id="@+id/menu_group"
            android:layout_width="match_parent"
            android:layout_height="55dp"
            android:layout_alignParentBottom="true"
            android:background="@color/fontWhite"
            android:gravity="bottom"
            android:orientation="horizontal"
            android:paddingTop="4dp"
            android:paddingBottom="4dp"
            android:visibility="visible">

            <RadioButton
                android:id="@+id/radio_0"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@null"
                android:button="@null"
                android:checked="true"
                android:drawableTop="@drawable/select_tab_0"
                android:gravity="center"
                android:paddingTop="5dp"
                android:paddingBottom="5dp"
                android:text="@string/lab_tab_home"
                android:textColor="@color/select_menu_txt"
                android:textSize="12sp" />

            <RadioButton
                android:id="@+id/radio_1"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@null"
                android:button="@null"
                android:drawableTop="@drawable/select_tab_1"
                android:gravity="center"
                android:paddingTop="5dp"
                android:paddingBottom="5dp"
                android:text="@string/lab_tab_discover"
                android:textColor="@color/select_menu_txt"
                android:textSize="12sp" />

            <RadioButton
                android:id="@+id/radio_4"
                android:layout_width="0dp"
                android:layout_height="90dp"
                android:layout_gravity="bottom"
                android:layout_weight="1"
                android:background="@null"
                android:button="@null"
                android:drawableTop="@mipmap/icon_march"
                android:drawablePadding="-15dp"
                android:gravity="center"
                android:paddingTop="5dp"
                android:paddingBottom="5dp"
                android:text="@string/tab_matching"
                android:textColor="@color/select_menu_txt"
                android:textSize="12sp" />

            <RadioButton
                android:id="@+id/radio_2"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@null"
                android:button="@null"
                android:drawableTop="@drawable/select_tab_2"
                android:gravity="center"
                android:paddingTop="5dp"
                android:paddingBottom="5dp"
                android:text="@string/lab_tab_chats"
                android:textColor="@color/select_menu_txt"
                android:textSize="12sp" />

            <RadioButton
                android:id="@+id/radio_3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@null"
                android:button="@null"
                android:drawableTop="@drawable/select_tab_3"
                android:gravity="center"
                android:paddingTop="5dp"
                android:paddingBottom="5dp"
                android:text="@string/lab_tab_my"
                android:textColor="@color/select_menu_txt"
                android:textSize="12sp" />
        </RadioGroup
</RelativeLayout>

此代碼嚴格按照上述2點要求寫的,但實際情況并沒要達到想要的效果。

修改后代碼:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false">


    <RadioGroup
        android:id="@+id/menu_group"
        android:layout_width="match_parent"
        android:layout_height="55dp"
        android:layout_alignParentBottom="true"
        android:background="@color/fontWhite"
        android:clipToPadding="false"
        android:gravity="bottom"
        android:orientation="horizontal"
        android:paddingTop="4dp"
        android:paddingBottom="4dp"
        android:visibility="visible">

        <RadioButton
            android:id="@+id/radio_0"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:checked="true"
            android:drawableTop="@drawable/select_tab_0"
            android:gravity="center"
            android:paddingTop="5dp"
            android:paddingBottom="5dp"
            android:text="@string/lab_tab_home"
            android:textColor="@color/select_menu_txt"
            android:textSize="12sp" />

        <RadioButton
            android:id="@+id/radio_1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableTop="@drawable/select_tab_1"
            android:gravity="center"
            android:paddingTop="5dp"
            android:paddingBottom="5dp"
            android:text="@string/lab_tab_discover"
            android:textColor="@color/select_menu_txt"
            android:textSize="12sp" />

        <RadioButton
            android:id="@+id/radio_4"
            android:layout_width="0dp"
            android:layout_height="90dp"
            android:layout_gravity="bottom"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableTop="@mipmap/icon_march"
            android:drawablePadding="-16dp"
            android:gravity="center"
            android:paddingTop="5dp"
            android:paddingBottom="5dp"
            android:text="@string/tab_matching"
            android:textColor="@color/select_menu_txt"
            android:textSize="12sp" />

        <RadioButton
            android:id="@+id/radio_2"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableTop="@drawable/select_tab_2"
            android:gravity="center"
            android:paddingTop="5dp"
            android:paddingBottom="5dp"
            android:text="@string/lab_tab_chats"
            android:textColor="@color/select_menu_txt"
            android:textSize="12sp" />

        <RadioButton
            android:id="@+id/radio_3"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableTop="@drawable/select_tab_3"
            android:gravity="center"
            android:paddingTop="5dp"
            android:paddingBottom="5dp"
            android:text="@string/lab_tab_my"
            android:textColor="@color/select_menu_txt"
            android:textSize="12sp" />
    </RadioGroup>
</RelativeLayout>

對比發(fā)現(xiàn),我在RadioGroup里添加了android:clipToPadding="false"屬性。
clipToPadding屬性的意思是 是否在padding區(qū)域里繪制View內(nèi)容。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容