Spinner在android活动中占据了它下面的整个空间

时间:2015-03-12 09:21:35

标签: android android-layout android-xml

我正在尝试按照图形布局中的图像进行xml活动。

与左侧显示的图形布局相似

enter image description here


我制作的旋转器占据了整个空间,直到活动的底部,按钮消失了。

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>

如果我试图移动按钮或微调器,它会给出类强制转换异常错误,说按钮不能转换为微调器。

如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

根据您的布局,您可以在订单下方使用控件。使用时应使用LinearLayout代替RelativeLayout,这也将解决您的问题。

答案 1 :(得分:0)

正如您的代码告诉您已经给出android:layout_height="wrap_content" wrap_content将根据下拉列表项目布局大小占用空间...

因此,对于您的下拉列表项,请提供“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>

答案 2 :(得分:0)

对于类强制转换异常,只需在运行之前清理项目。