【问题标题】:Why does my spinner not look like a spinner?为什么我的微调器看起来不像微调器?
【发布时间】:2019-08-25 01:42:30
【问题描述】:

我有一个看起来非常丑陋的微调器,如下所示:

当我点击它看起来更好一点:

但是,在默认情况下,它甚至不像一个微调器。知道如何改善它的外观吗?

代码如下:

adapter=new SpinAdapter(this,com.Orange.R.layout.spinnerrowlist,spinnerInfo);
adapter.setDropDownViewResource(com.Orange.R.layout.multiline_spinner_dropdown_item);
previousVisitCommentsSpinner.setAdapter(adapter);

spinnerrowlist.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="#FFFFFF"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textview_spinner1"
        style="?android:attr/spinnerItemStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:layout_alignParentLeft="true"
        android:textColor="@drawable/textorange_selected" />

    <TextView
        android:id="@+id/textview_spinner2"
        style="?android:attr/spinnerItemStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_toRightOf="@+id/textview_spinner1"
        android:paddingLeft="5dp"
        android:textColor="@drawable/textorange_selected" />

    <TextView
        android:id="@+id/textview_spinner3"
        style="?android:attr/spinnerItemStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:paddingLeft="5dp"
        android:textColor="@drawable/textorange_selected" />

</RelativeLayout>

这里是微调器:

<Spinner
    android:id="@+id/previousVisitComments"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_below="@+id/previousvisit"
    android:layout_marginTop="15dp"
    android:background="@drawable/spinner_selector"
    android:textColor="@color/medium_orange"
    android:textAppearance="?android:attr/textAppearanceMedium"
    />

微调器中的项目应该在同一行,这就是我使用水平布局的原因! 感谢您的回答!

【问题讨论】:

  • 关键在 com.Orange.R.layout.spinnerrowlist,而不是下拉列表。现在看不到;如果我有空,我稍后会尝试查看它,但它正在尝试将文本压缩到一个小区域。

标签: android android-layout android-spinner


【解决方案1】:

尝试添加这个

android:layout_toRightOf="@+id/textview_spinner1 

您还可以添加以下内容以查看是否有所不同

android:layout_below 

然后告诉我进展如何:)

【讨论】:

    【解决方案2】:

    微调器中的项目应该在同一行,这就是我使用水平布局的原因!

    问题是您试图将大量文​​本压缩到一个狭窄的区域。但是您有两种选择:

    首先使用现有的,只需将layout_toLeftOf 属性添加到textview_spinner2

    <TextView
        android:id="@+id/textview_spinner2"
        style="?android:attr/spinnerItemStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_toLeftOf="@+id/textview_spinner3"
        android:layout_toRightOf="@+id/textview_spinner1"
        android:paddingLeft="5dp" />
    

    您还说您使用的是a horizontal layout,但RelativeLayout 没有orientation 属性,所以这一行什么都不做:

    android:orientation="horizontal"
    

    子元素的组织方式由各个属性决定,例如:layout_toLeftOflayout_toRightOflayout_above 等。

    第二如果您的 RelativeLayout 行为不守规矩,并且您有这样一个简单的布局,您可以随时切换到 LinearLayout:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp" >
    
        <TextView
            android:id="@+id/textview_spinner1"
            style="?android:attr/spinnerItemStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            android:textColor="@drawable/textorange_selected" />
    
        <TextView
            android:id="@+id/textview_spinner2"
            style="?android:attr/spinnerItemStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:paddingLeft="5dp"
            android:textColor="@drawable/textorange_selected" />
    
        <TextView
            android:id="@+id/textview_spinner3"
            style="?android:attr/spinnerItemStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            android:paddingLeft="5dp"
            android:textColor="@drawable/textorange_selected" />
    
    </LinearLayout>
    

    现在 Spinner 中的所有列都没有重叠。

    【讨论】:

      【解决方案3】:

      您可以在您的 Java 代码中尝试 (android.R.layout.simple_spinner_dropdown_item)。而不是这个(com.Orange.R.layout.multiline_spinner_dropdown_item)希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多