ビュー内のレコードを意味する魔法の属性

記事のディレクトリ

clipToPadding

Androidの属性に関するコメントを表示する


パディングがゼロでない場合に、ViewGroupが子をクリップし、EdgeEffectをパディングにサイズ変更する(クリップしない)かどうかを定義します。このプロパティは
デフォルトでtrueに設定されています。

この段落についての私の理解は次のとおりです。この属性は、ViewGroupがパディング属性に従って子ビューのサイズを再カットおよび変更するかどうかを定義するために使用されます。
実際のテストの結果、trueの場合、Viewgroupはパディングに応じて描画領域を調整し、図面はパディングの幅を差し引くことがわかりました。falseに設定すると、ViewGroupは図面のサイズを調整しません。エリア、およびサブビューの描画エリアには、パディングエリアを含めることができます。
clipToPadding = trueの効果
スクロール時にビューの周囲に空白のパディング領域がある

clipToPadding = falseの効果確認
できます。スクロールすると、パディング部分の空白のキルトビューが描画さ

れることがわかります。recyclerviewを使用する場合、スクロール時にパディング領域が表示されないようにします。clipToPadding= falseを使用してこの効果を実現できます。

clipChildren

アンドロイドでコメントを見る

子がその境界内に描画するように制限されているかどうかを定義します。
これは
、たとえば、子のサイズを100%以上に拡大縮小するアニメーションで役立ちます。このような場合、このプロパティをfalse
設定して、子が境界の外に描画できるようにする必要があります。
このプロパティのデフォルト値はtrueです。

この属性の意味は、ビューをそれ自体の境界内でのみ描画するように制限するかどうかです。ズームアニメーションを実行するときに、ビューのサイズが100%を超える場合、このプロパティをfalseに設定して、ビューを表示領域の境界の外側に表示できるようにすることができます。
clipChildren = trueの効果
画像は親レイアウトを超えて表示できず、クリップされます。

レイアウトコード:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/grandfather"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="true"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".MainActivity_main">

    <LinearLayout
        android:id="@+id/father"
        android:background="#4CAF50"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:orientation="vertical">

        <ImageView
            android:src="@drawable/kite"
            android:layout_width="300dp"
            android:layout_height="300dp" />
    </LinearLayout>
</LinearLayout>

clipChildren = falseの効果

レイアウトコード:
上記のレイアウトコードのルートレイアウトのclipChildrenプロパティをfalseに設定します

おすすめ

転載: blog.csdn.net/liu_12345_liu/article/details/111822877