
それでは、この幸せを感じるには何が必要ですか? かなり必要です。アプリケーションのbuild.gradleを開き、そこに行を追加します
dependencies { compile 'com.android.support:percent:23.4.0' }
同期します。
それだけです、少なくともminSDK 14については、パーセントでマークするすべての楽しみが利用できます(私はあまりテストしていません)。
空のレイアウトは次のようになります。
<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:theme="@android:style/Theme.Black"> </android.support.percent.PercentRelativeLayout>
子のサイズと位置を示すために、次の属性を使用できます
- layout_widthPercent
- layout_heightPercent
- layout_marginPercent
- layout_marginLeftPercent
- layout_marginTopPercent
- layout_marginRightPercent
- layout_marginBottomPercent
- layout_marginStartPercent
- layout_marginEndPercent
- layout_aspectRatio
この場合、レイアウトヘッダーで指定された名前空間に従って、 android:layout_widthPercentではなく、 app:layout_widthPercentのプレフィックスを指定する必要があります。 これらの属性の値はパーセントで割り当てられ、%記号が必須です。
実際、ほぼすべての属性の目的は、親レイアウトの割合としての直感的な幅、高さ、およびインデントです。
おそらく、layout_aspectRatioだけが明確にする価値があります。 この属性を使用すると、要素のアスペクト比を指定できます。 たとえば、画面幅の15%を占める正方形のボタンを作成するとします。 layout_widthPercent =“ 15%”を指定します。layout_heightPercent=“ 15%”を指定すると、ボタンは長方形になります。 したがって、layout_heightPercentを指定する必要はありませんが、layout_aspectRatio = "100%"を指定します。 この場合、幅は式layout_heightPercent * layout_aspectRatio / 100によって計算されます。
別の質問が発生する可能性があります。layout_marginStartPercentは、layout_marginLeftPercentとどのように異なり、layout_marginEndPercentはlayout_marginRightPercentとそれぞれ異なるのですか? ここではすべてが簡単です。これは、左から右に読む言語、Start = Left、および右から左に読む言語= Start = Rightのインターフェースのローカライズを確実にするためです。
PercentRelativeLayoutはRelativeLayoutの子孫です。したがって、Percent属性とともに、RelativeLayout属性を使用できます。たとえば、ボタンの高さをandroidとして指定できます。layout_height=“ wrap_content”およびアプリの幅:layout_heightPercent =“ 25%”。
もちろん、PercentRelativeLayoutは万能薬ではありません。たとえば、画面を反転させると、面白い特殊な効果が得られない場合があります。 自分で実験して、PercentRelativeLayoutを使用するときは、レイアウトのランドスケープバージョンを必ず実行する必要があると自分で結論付けました。