我有一个看起来像极端丑陋的微调器: here is my image http://i47.tinypic.com/5n6dj7.png
当我点击它时看起来好一点: here is my image http://i50.tinypic.com/653jnk.png
但是,在默认情况下,它甚至看起来不像一个微调器。任何想法我怎样才能改善它的外观?
以下是代码:
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"
/>
微调器中的项目应位于同一行,这就是我使用水平布局的原因! 谢谢你的回答!
答案 0 :(得分:1)
尝试添加此
android:layout_toRightOf="@+id/textview_spinner1
你还可以添加以下内容,看它是否有所作为
android:layout_below
让我知道它是怎么回事:)
答案 1 :(得分:1)
微调器中的项目应该在同一条线上,这就是我使用水平布局的原因!
问题是你正在尝试将大量文本挤入狭窄的区域。但是你有两个选择:
首先使用您拥有的内容,只需将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_toLeftOf
,layout_toRightOf
,layout_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中没有任何列重叠。
答案 2 :(得分:1)
您可以在Java代码中尝试(android.R.layout.simple_spinner_dropdown_item)。而不是这个(com.Orange.R.layout.multiline_spinner_dropdown_item)希望这会有所帮助。