我在Kotlin中排列视图时遇到了一些问题,因此我有两个并排的单选按钮。我还想将“amountPicker”也推到右边。如果您有任何帮助,我们将不胜感激。因为我就是想不出来。提前谢谢你。我已经尝试了很多不同的方法,但是我就是不能得到我想要的结果。我正在查看的区域是numberPicker和RadioGroup。
下面是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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"
tools:context="org.wit.hikingtrails.activities.HikeActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorAccent"
android:fitsSystemWindows="true"
app:elevation="0dip"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbarAdd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:titleTextColor="@color/colorPrimary" />
</com.google.android.material.appbar.AppBarLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/appBarLayout"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@+id/hikeName"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_margin="8dp"
android:autofillHints=""
android:hint="@string/hint_hikeName"
android:inputType="text"
android:maxLength="25"
android:maxLines="1"
android:padding="8dp"
android:textColor="@color/colorPrimaryDark"
android:textSize="14sp" />
<EditText
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:hint="@string/hint_hikeDescription"
android:inputType="text"
android:maxLength="25"
android:maxLines="1"
android:padding="8dp"
android:textColor="@color/colorPrimaryDark"
android:textSize="14sp" />
<Button
android:id="@+id/chooseImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@color/colorAccent"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:text="@string/button_addImage"
android:textColor="@color/colorPrimary"
android:textSize="16sp" />
<ImageView
android:id="@+id/hikeImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/ic_launcher" />
<Button
android:id="@+id/hikeLocation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@color/colorAccent"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:stateListAnimator="@null"
android:text="@string/button_location"
android:textColor="@color/colorPrimary"
android:textSize="16sp" />
<TextView
android:id="@+id/hikeSubtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/donateTitle"
android:layout_alignEnd="@+id/donateTitle"
android:layout_alignParentStart="true"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/hikeSubtitle"
android:textAppearance="?android:attr/textAppearanceMedium" />
<RadioGroup
android:id="@+id/difficultyLevel"
android:layout_width="328dp"
android:layout_height="128dp"
android:layout_above="@+id/progressBar"
android:layout_alignParentStart="true">
<RadioButton
android:id="@+id/Hard"
android:layout_width="99dp"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/hard" />
<RadioButton
android:id="@+id/Intermediate"
android:layout_width="168dp"
android:layout_height="wrap_content"
android:checked="false"
android:text="@string/intermediate" />
</RadioGroup>
<NumberPicker
android:id="@+id/amountPicker"
android:layout_width="wrap_content"
android:layout_height="121dp"
android:layout_alignEnd="@+id/donateSubtitle"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.973"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.333" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="349dp"
android:layout_height="14dp"
android:layout_above="@+id/donateButton"
android:layout_alignEnd="@+id/donateSubtitle"
android:layout_alignParentStart="true"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:indeterminate="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.526"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.7" />
<TextView
android:id="@+id/distance"
android:layout_width="267dp"
android:layout_height="38dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/distance" />
<TextView
android:id="@+id/difficulty"
android:layout_width="265dp"
android:layout_height="38dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/difficulty" />
<Button
android:id="@+id/btnAdd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@color/colorAccent"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:stateListAnimator="@null"
android:text="@string/button_addHike"
android:textColor="@color/colorPrimary"
android:textSize="16sp" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
[![This is how the view currently looks][1]][1]
[1]: https://i.stack.imgur.com/b1nTN.png
1条答案
按热度按时间nx7onnlm1#
在您的
RadioGroup
上使用android:orientation="horizontal"
-它只是一个LinearLayout。您的
NumberPicker
定义了一系列ConstraintLayout
定位属性,但它不是在ConstraintLayout
内-其父级是 *LinearLayout
*(ScrollView
内部的那个)所以这些东西都不起作用。你必须使用LinearLayout
支持的属性,比如layout_gravity
,把它对齐到一边,或增加margin
或padding
(或两者-与边缘对齐,使用边距将其推离边缘)。如果你真的想使用这些
ConstraintLayout
属性(并且你在布局中有一些东西使用它们,比如ProgressBar
),你必须把你的LinearLayout
换成ConstraintLayout
。这样你就可以对定位有更多的控制!