相対レイアウトでXMLをルートレイアウトとして使用すると、画面の80%を使用して中央に配置するようにイメージビューに指示することができます。画面の80%を表示する画像を表示する
ラップコンテンツまたは数字のdpを使用すると、大きな画面では画像が小さすぎたり、小さな画面では大きすぎます。画面がどのようになっても80‰にしたいですか?
私はあなたが
相対レイアウトでXMLをルートレイアウトとして使用すると、画面の80%を使用して中央に配置するようにイメージビューに指示することができます。画面の80%を表示する画像を表示する
ラップコンテンツまたは数字のdpを使用すると、大きな画面では画像が小さすぎたり、小さな画面では大きすぎます。画面がどのようになっても80‰にしたいですか?
私はあなたが
を使用することができ、XMLではこの
dependencies {
...
compile 'com.android.support:percent:23.3.0'
...
}
をインポートし、あなたが<android.support.percent.PercentRelativeLayout>
代わり<RelativeLayout>
を使用し、それはそれらの子
app:layout_heightPercent="80%"
app:layout_widthPercent="80%"
ためのコードの下にサポートします
android:layout_width/heightを使用すると、あなたは "wrap_content"を使うことができます。
さて、あなたはこれらの数学的な操作が実行できない原因となるXMLにこれを行うことはできません。このおかげでアプローチする方法を教えてください。 XMLでMATCH_PARENTを使用できます。
次に、プログラムによって特定のViews MeasuredWidth()を取得し、その幅をその80%に設定します。
この方法ではるかに簡単で清潔です。
あなたがPercentRelativeLayoutを使用PercentRelativeLayout
<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">
<ImageView
app:layout_widthPercent="80%"
app:layout_heightPercent="80%"
android:layout_centerInParent="true"/>
</android.support.percent.PercentFrameLayout>
あなたは
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="8">
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</RelativeLayout>
恐ろしい次のように直線的なレイアウトに重みを使用して作成することができます。私はこれが存在することを知らなかった! – Snake