[英]How to combine two vars in android listview: first left-justified and second right-justified
[英]Android; How to Right Justify Buttons while other widgets stay Left Justified
我是 Android 新手,我的應用程序終於可以運行了,但是我在布局方面遇到了問題。
下面的xml
被刪除了,但在我標記它<repeats>
我有 4 個水平布局。
每個都有不同的小部件Spinner
、 SeekBar
和RadioButtons
它們都由分隔線分開。
每選擇一個設置,然后按右側的Set
按鈕。
我的問題,盡管所有小部件都整齊地左對齊,但按鈕的垂直對齊到處都是。
如果我只是玩小部件邊距,它將不適合不同的 Android 設備。
如何在不從左側移動所有其他Buttons
的情況下將Buttons
垂直排列到右側?
GETTING WANT
------------------------------- --------------------------------
| <Spinner> <button> | | <Spinner> <button> |
| < -------- Divider --------> | | < -------- Divider --------> |
| <RadioButton > <button> | | <RadioButton> <button> |
| < -------- Divider --------> | | < -------- Divider --------> |
| <SeekBar> <button> | | <SeekBar> <button> |
| < -------- Divider --------> | | < -------- Divider --------> |
| <RadioButton> <button> | | <RadioButton> <button> |
------------------------------- --------------------------------
這是我的相關代碼:
content_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
tools:context=".MainActivity"
tools:showIn="@layout/activity_main">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
tools:scrollY="?android:attr/scrollbarSize">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:orientation="vertical">
<repeats> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Spinner
android:id="@+id/dynamic_TZ_spinner"
android:layout_width="223dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp20"
android:layout_marginRight="@dimen/dp20" />
<Button
android:id="@+id/TZ_btnSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/set" />
</LinearLayout>
<View
android:id="@+id/divider3"
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_marginTop="@dimen/dp10"
android:background="?android:attr/listDivider"
android:visibility="visible" />
....
</LinearLayout>
</RelativeLayout>
</android.support.constraint.ConstraintLayout>
請嘗試這種方式並注意,當您想將小部件放在其父級的右側或左側時,請使用“ android:layout_alignParentRight="true" ”或“ android:layout_alignParentLeft="true" ”
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:gravity="center_vertical"
tools:scrollY="?android:attr/scrollbarSize">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Spinner
android:id="@+id/dynamic_TZ_spinner"
android:layout_width="223dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_margin="@dimen/dp20" />
<Button
android:id="@+id/TZ_btnSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_margin="@dimen/dp20"
android:text="@string/set" />
</RelativeLayout>
<View
android:id="@+id/divider3"
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_marginTop="10dp"
android:background="?android:attr/listDivider"
android:visibility="visible" />
....
</LinearLayout>
</RelativeLayout>
您可以為每個小部件和按鈕(列)使用線性布局
嘗試這個 :-
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
tools:context=".MainActivity"
tools:showIn="@layout/activity_main">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
tools:scrollY="?android:attr/scrollbarSize">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:orientation="vertical">
<repeats> <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Spinner
android:id="@+id/dynamic_TZ_spinner"
android:layout_width="223dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="@dimen/dp20"
android:layout_marginRight="@dimen/dp20" />
<Button
android:id="@+id/TZ_btnSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/set" />
</RelativeLayout>
<View
android:id="@+id/divider3"
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_marginTop="@dimen/dp10"
android:background="?android:attr/listDivider"
android:visibility="visible" />
....
</LinearLayout>
</RelativeLayout>
您可以使用子項中的FrameLayout
和layout_gravity
屬性來實現它。
對於一行使用:
<FrameLayout
android:padding="8dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/radioBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="Radio Button" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:text="Button" />
</FrameLayout>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.