記事のディレクトリ
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に設定します