It so happened that all the elements in my activity should be arranged in%. The easiest way I have not passed:
android:layout_width="100%"
What is the way to position elements using absolute (%) layout?
It so happened that all the elements in my activity should be arranged in%. The easiest way I have not passed:
android:layout_width="100%"
What is the way to position elements using absolute (%) layout?
Not so long ago, Google introduced a new support library : percent , which allows you to set some parameters of widgets as a percentage of the total container size.
The library includes 2 containers that support the indication of the elements nested in them as a percentage: PercentRelativeLayout
and PercentFrameLayout
. The properties of the containers are similar to the "older" brothers, as they allow you to specify some parameters in percent.
Example 1:
<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"> <TextView android:layout_height="wrap_content" app:layout_widthPercent="35%" app:layout_heightPercent="10%" app:layout_marginLeftPercent="10%" app:layout_marginStartPercent="10%" android:text="Some text" /> <TextView android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:padding="8dp" android:text="Another some text" app:layout_marginEndPercent="10%" app:layout_marginRightPercent="10%" app:layout_widthPercent="35%" /> </android.support.percent.PercentRelativeLayout>
Example 2:
<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"> <Button android:background="#f0f0f0" app:layout_widthPercent="50%" app:layout_heightPercent="50%" app:layout_marginTopPercent="25%" app:layout_marginLeftPercent="25%" /> </android.support.percent.PercentFrameLayout>
In order to connect the library, add the dependency to the dependencies section of the application's build.gradle file:
compile 'com.android.support:percent:23.0.0'
23.0.0 - the current latest version of the library may change over time.
Wrapped in LinearLayout, for the children we set the desired layout_weight.
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <!-- Эта кнопка занимает 30% от всей ширины --> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.3" /> <!-- Эта - 50% --> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.5" /> <!-- А эта - 20% --> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.2" /> </LinearLayout>
Quote: weight is the width.
weight - the "weight" of the object or the same percentages depending on the given orientation: in this case, since layout orientation is horizontal, then we can say that it is width.
You can create a style in which the necessary attributes will be specified. Later this style can be applied to any button.
Source: https://ru.stackoverflow.com/questions/184939/
All Articles