微调器在 android activity 中占据整个 space
Spinner taking whole space below it in android activity
我正在尝试制作一个 xml activity 如下图所示的图形布局。
如左图所示
我制作的微调器占用了整个 space 直到 activity 的底部,因此制作的按钮消失了。
XML 文件:-
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:paddingBottom="2dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:paddingTop="2dp"
android:background="#FFFFFF"
android:layout_height="match_parent" >
<TextView
android:id="@+id/select_project_chart"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="18dp"
android:ems="10"
android:text="Select Project To Rename"
android:inputType="text"
android:textAppearance="?android:attr/textAppearance"
android:textColor="@android:color/black" />
<Spinner
android:id="@+id/spinner_for_rename"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/select_project_chart"
android:layout_centerHorizontal="true"
android:layout_marginTop="103dp"
android:animateLayoutChanges="true"
android:prompt="@string/select_a_project"
android:spinnerMode="dropdown" />
<EditText
android:id="@+id/new_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/select_project_chart"
android:layout_below="@+id/select_project_chart"
android:layout_marginTop="32dp"
android:ems="10"
android:hint="New Name"
android:textAppearance="?android:attr/textAppearanceMedium"
android:theme="@style/EditTextsumeet" />
<Button
android:id="@+id/rename_pro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/spinner_for_rename"
android:layout_below="@+id/spinner_for_rename"
android:layout_marginTop="98dp"
android:background="@drawable/mybutton"
android:gravity="center"
android:paddingBottom="2dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:paddingTop="2dp"
android:text="Rename"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
如果我尝试移动按钮或微调器,它会给出 class 投射异常错误,提示无法将按钮投射到微调器。
如何解决这个问题?
根据您的布局,您在订单下方有一个控件。使用时应使用 LinearLayout
而不是 RelativeLayout
,这也将解决您的问题。
正如您的代码所说,您已给出 android:layout_height="wrap_content"
wrap_content 将根据下拉列表项布局大小占用 space...
因此,对于您的下拉列表项,请给出 "dp" 的特定高度,例如 android:layout_height="65dp"
和 android:margin="3dp"
。它将解决您的问题....
此解决方案仅适用于一种屏幕尺寸。如果您想根据显示调整高度和边距,则必须为您的应用实现多屏支持。
将其用于微调器下拉项布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:id="@+id/lbl_person_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:margin="5dp"
android:layout_gravity="center_vertical"
android:text="TextView" />
</LinearLayout>
对于class强制转换异常,只需清理运行之前的项目。
我正在尝试制作一个 xml activity 如下图所示的图形布局。
如左图所示
我制作的微调器占用了整个 space 直到 activity 的底部,因此制作的按钮消失了。
XML 文件:-
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:paddingBottom="2dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:paddingTop="2dp"
android:background="#FFFFFF"
android:layout_height="match_parent" >
<TextView
android:id="@+id/select_project_chart"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="18dp"
android:ems="10"
android:text="Select Project To Rename"
android:inputType="text"
android:textAppearance="?android:attr/textAppearance"
android:textColor="@android:color/black" />
<Spinner
android:id="@+id/spinner_for_rename"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/select_project_chart"
android:layout_centerHorizontal="true"
android:layout_marginTop="103dp"
android:animateLayoutChanges="true"
android:prompt="@string/select_a_project"
android:spinnerMode="dropdown" />
<EditText
android:id="@+id/new_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/select_project_chart"
android:layout_below="@+id/select_project_chart"
android:layout_marginTop="32dp"
android:ems="10"
android:hint="New Name"
android:textAppearance="?android:attr/textAppearanceMedium"
android:theme="@style/EditTextsumeet" />
<Button
android:id="@+id/rename_pro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/spinner_for_rename"
android:layout_below="@+id/spinner_for_rename"
android:layout_marginTop="98dp"
android:background="@drawable/mybutton"
android:gravity="center"
android:paddingBottom="2dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:paddingTop="2dp"
android:text="Rename"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
如果我尝试移动按钮或微调器,它会给出 class 投射异常错误,提示无法将按钮投射到微调器。
如何解决这个问题?
根据您的布局,您在订单下方有一个控件。使用时应使用 LinearLayout
而不是 RelativeLayout
,这也将解决您的问题。
正如您的代码所说,您已给出 android:layout_height="wrap_content"
wrap_content 将根据下拉列表项布局大小占用 space...
因此,对于您的下拉列表项,请给出 "dp" 的特定高度,例如 android:layout_height="65dp"
和 android:margin="3dp"
。它将解决您的问题....
此解决方案仅适用于一种屏幕尺寸。如果您想根据显示调整高度和边距,则必须为您的应用实现多屏支持。
将其用于微调器下拉项布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:id="@+id/lbl_person_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:margin="5dp"
android:layout_gravity="center_vertical"
android:text="TextView" />
</LinearLayout>
对于class强制转换异常,只需清理运行之前的项目。