簡體   English   中英

android xml布局中的微調器

[英]spinner in android xml layout

我正在嘗試為Android應用程序設計布局。 這是xml:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New Text"
    android:id="@+id/nameFB"
    android:layout_gravity="end" />

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="end">

        <Spinner

            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            android:text="@string/type_string" />

        <EditText
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/yearTextName"
            android:background="@drawable/edit_text_style"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            android:text="@string/year_string" />

        <EditText
            android:layout_width="75dp"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/creatorTextName"
            android:background="@drawable/edit_text_style"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            android:text="@string/creator_string" />

        <EditText
            android:layout_width="75dp"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/nameTextBox"
            android:background="@drawable/edit_text_style"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            android:text="@string/name_string" />


    </LinearLayout>

    <ListView
        android:id="@+id/lv_search_results"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </ListView>
</LinearLayout>
</LinearLayout>

它看起來像這樣:

在此處輸入圖片說明

但是當我為微調器添加ID值時:

<Spinner
            android:id="@+id/a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

由於某種原因,它破壞了布局:

在此處輸入圖片說明

有誰知道為什么會這樣? 我唯一要更改的是id的值,而不是圖形的值。 我該如何解決? 或者如何重新排列xml,以使文本框和微調框在文本視圖中可見(也許分兩行)? 我試圖一個接一個地放置線性布局,然后將小部件放入其中,但是每次看起來就像第二張圖片一樣。

我仍在尋找這種行為背后的原因。

但是暫時而言,您可以使用以下代碼進行布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/nameFB"/>


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Spinner
                android:id="@+id/adsa"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"/>

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="type"
                android:layout_weight="1"/>

            <EditText
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:inputType="textPersonName"
                android:ems="10"
                android:id="@+id/yearTextName"
                android:layout_weight="1"/>

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="year"
                android:layout_weight="1"/>

            <EditText
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:inputType="textPersonName"
                android:ems="10"
                android:id="@+id/creatorTextName"
                android:layout_weight="1"/>

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="craetor"
                android:layout_weight="1"/>

            <EditText
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:inputType="textPersonName"
                android:ems="10"
                android:id="@+id/nameTextBox"
                android:layout_weight="1"/>

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="name"
                android:layout_weight="1"/>

    </LinearLayout>
    <ListView
        android:id="@+id/lv_search_results"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </ListView>
</LinearLayout>

您可以根據需要修改視圖的權重。

在這種情況下,我強烈建議您更改設計。 微調框保持在單行中,其余控件保持在第二行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM