在微调器中选择长文本然后创建空间

Ali*_*Ali 11 java android android-layout

当我在选择长文本spinner,然后它的创造空间之间textViewspinner

看我的默认值 spinner:

在此输入图像描述

选择一个长文本后,它看起来像下面的镜头:

在此输入图像描述

下面是xml代码:

<TextView
                    style="@style/TextLabelBookGray"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:layout_weight="1"
                    android:text="@string/hint_state"
                    android:textSize="@dimen/_14ssp"
                    android:paddingLeft="@dimen/_2sdp"
                    android:visibility="visible" />

                <android.support.v7.widget.AppCompatSpinner
                    android:id="@+id/spStates"
                    style="@style/TextLabelBookBlack"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:layout_marginBottom="@dimen/_4sdp"
                    android:layout_marginTop="@dimen/_4sdp"
                    android:layout_weight="1"
                    android:entries="@array/us_states"
                    />
Run Code Online (Sandbox Code Playgroud)

下面的代码是style.xml:

<style name="TextLabelBookGray" parent="FontBook">
        <item name="android:textSize">@dimen/_14ssp</item>
        <item name="android:textColor">@color/input_color_gray</item>
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何解决它

提前致谢 :

Zay*_*med 1

问题是你的 textView 和 spinner 共享父视图的 50% 和 50%。最好将weightSum 设置为父视图并为微调器分配更多宽度。然后你就可以在微调器中显示一行文本。

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="10">

            <TextView
                style="@style/TextLabelBookGray"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="2.5"
                android:text="@string/hint_state"
                android:textSize="@dimen/_14ssp"
                android:paddingLeft="@dimen/_2sdp"
                android:visibility="visible" />

            <android.support.v7.widget.AppCompatSpinner
                android:id="@+id/spStates"
                style="@style/TextLabelBookBlack"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginBottom="@dimen/_4sdp"
                android:layout_marginTop="@dimen/_4sdp"
                android:layout_weight="7.5"
                android:entries="@array/us_states"/>

        </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是一个工作示例,请根据您的需要调整重量。