パーセント Android要素を表示するための値?
<TextView
Android:id="@+id/"
Android:layout_width="75%"
Android:layout_height="50%"/>
2018年更新:
PercentRelativeLayout
およびPercentFrameLayout
は非推奨です。 ConstraintLayout
の使用を検討してください
古い回答:
これまでのところAndroidサポートライブラリでは、これを使用する場所が制限されています。
RelativeLayout
で
_Android.support.percent.PercentRelativeLayout
_
FrameLayout
で
_Android.support.percent.PercentFrameLayout
_
それを使用する方法?
さて、まず、Androidアプリにbuild.grade(Module: app)
の依存関係を含めるようにしてください。
_dependencies {
compile 'com.Android.support:percent:23.3.0'
}
_
次に、この例のXMLレイアウト(.MainActivity)に移動します
_<Android.support.percent.PercentRelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<Button
Android:id="@+id/button"
Android:text="Button"
Android:layout_height="wrap_content"
Android:layout_alignParentTop="true"
app:layout_widthPercent="30%"/>
<Button
Android:id="@+id/button2"
Android:text="Button 2"
Android:layout_height="wrap_content"
Android:layout_toRightOf="@id/button"
app:layout_widthPercent="60%"/>
<Button
Android:id="@+id/button3"
Android:text="Button 3"
Android:layout_height="wrap_content"
Android:layout_below="@+id/button"
Android:layout_alignParentStart="true"
Android:layout_alignParentLeft="true"
app:layout_widthPercent="90%"/>
</Android.support.percent.PercentRelativeLayout>
_
詳細については、 こちら を確認してください。
サポートライブラリは、パーセントレイアウトを追加しました。
このようにすることができます
<Android.support.percent.PercentFrameLayout
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="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"/>
</Android.support.percent.PercentFrameLayout>
https://developer.Android.com/reference/Android/support/percent/PercentFrameLayout.html
PercentRelativeLayout を使用できます。これは Design Support Library への最近の文書化されていない追加であり、相互に関連する要素だけでなく、利用可能な合計パーセンテージも指定できます。スペース。
構造は
<Android.support.percent.PercentRelativeLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
>
<ImageView
Android:id="@+id/imageview"
Android:layout_gravity="center"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
Android:src="@mipmap/ic_launcher"
Android:background="#cecece"/>
<TextView
Android:id="@+id/textview1"
Android:layout_below="@id/imageview"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
app:layout_marginStartPercent="25%"
app:layout_marginEndPercent="25%"
Android:text="PercentRelativeLayout example"
Android:background="#bebebe"/>
</Android.support.percent.PercentRelativeLayout>
パーセントパッケージは、アプリでのパーセントベースのディメンションの追加と管理をサポートするAPIを提供します。
使用するには、このライブラリをyour Gradle dependency
リストに追加する必要があります。
dependencies {
compile 'com.Android.support:percent:22.2.0'
// or compile 'com.Android.support:percent:23.1.0'
}
デモ目的で、Git Android-percent-support-lib-sample にアクセスできます。
PercentFrameLayout
とPercentRelativeLayout
の両方が26.0.0で廃止されたため、ConstraintLayout
を使用して、TextViewをパーセント値でサイズ設定する必要があります。
ConstraintLayout
は、AndroidプラットフォームのレスポンシブUIを構築するための非常に強力なツールです。詳細については、こちらを参照してください ConstraintLayoutを使用したレスポンシブUIの構築 。
ConstraintLayoutを使用してTextView(w = 75%、h = 50%)のサイズを設定する方法の例を次に示します。
<Android.support.constraint.ConstraintLayout
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.support.constraint.Guideline
Android:id="@+id/ver_guideline"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="vertical"
app:layout_constraintGuide_percent="0.75"/>
<Android.support.constraint.Guideline
Android:id="@+id/hor_guideline"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="horizontal"
app:layout_constraintGuide_percent="0.5"/>
<TextView
Android:layout_width="0dp"
Android:layout_height="0dp"
Android:layout_marginBottom="0dp"
Android:layout_marginEnd="0dp"
Android:layout_marginStart="0dp"
Android:layout_marginTop="0dp"
app:layout_constraintBottom_toTopOf="@+id/hor_guideline"
app:layout_constraintEnd_toStartOf="@+id/ver_guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</Android.support.constraint.ConstraintLayout>
constraint-layout
依存関係をモジュールbuild.gradle
ファイルに追加することを忘れないでください
dependencies {
...
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
...
}
または、次に示すように、レイアウトエディターでレイアウトを直接編集します。
その結果、TextView
幅は親の幅の75%で、高さは親の高さの50%です:
GoogleにはAndroid.support.percentという新しいAPIがあります
<Android.support.percent.PercentFrameLayout
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">
<TextView
Android:id="@+id/myTextView"
app:layout_widthPercent="75%"
app:layout_heightPercent="50%"/>
</Android.support.percent.PercentFrameLayout>
PercentRelativeLayout
を使用できます。これはRelativeLayout
のサブクラスであり、パーセントベースの寸法とマージンをサポートします。
使用するには、このライブラリをGradle dependency
に追加する必要があります。
dependencies {
compile 'com.Android.support:percent:23.1.0'
}
サンプル構造は
<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="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"/>
</Android.support.percent.PercentRelativeLayout>