2016-05-30 245 views
0

微调下拉菜单很挑剔。我能想到的唯一的事情是父视图导致它的行为,使得无论是文字或整个下拉列表本身从纺纱项目下车中心,像这样:微调下拉菜单不会居中或匹配父宽度

enter image description here

下拉代码:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
style="?android:attr/spinnerItemStyle" 
android:singleLine="true" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:ellipsize="marquee" 
android:textAlignment="center" 
android:textColor="#000000" 
android:paddingTop="20dp" 
android:paddingBottom="20dp" 
android:paddingLeft="50dp" 
android:paddingRight="50dp"/> 

微调代码:

<Spinner 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/spinner_contour" 
    android:layout_below="@id/greeting_main_menu" 
    android:background="#ff515e6f" 
    android:layout_alignParentRight="true" 
    android:layout_marginTop="10.0sp" 
    android:layout_marginBottom="10.0sp" 
    android:popupBackground="#ffffff" 
    android:paddingStart="20dp" 
    android:paddingEnd="20dp" 
    android:paddingBottom="10dp" /> 

我一定尝试了明显的边距和填充增加的下拉列表项目,我很茫然。我希望白色下拉列表排列或至少与浅蓝色微调框的宽度相同。

编辑:这里是适配器代码,我使用,至少在列表中,这是很基本的:

public void createSpinners() 
{ 
    spinnerContour = (Spinner) activity.findViewById(R.id.spinner_contour); 
    ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(activity.getApplicationContext(), 
      R.array.contour_values, R.layout.custom_spinner_item); 
    adapter1.setDropDownViewResource(R.layout.custom_spinner_dropdown_item); 
    spinnerContour.setAdapter(adapter1); 
    spinnerContour.setOnItemSelectedListener(this); 

    spinnerBPM = (Spinner) activity.findViewById(R.id.spinner_bpm); 
    ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(activity.getApplicationContext(), 
      R.array.bpm_values, R.layout.custom_spinner_item); 
    adapter2.setDropDownViewResource(R.layout.custom_spinner_dropdown_item); 
    spinnerBPM.setAdapter(adapter2); 
    spinnerBPM.setOnItemSelectedListener(this); 
} 
+0

添加您的适配器代码 – Pavya

回答

0

因此,原来的微调的填充下拉列表的决定偏移。去搞清楚!

这似乎是答案:https://stackoverflow.com/a/29560301/1580355

虽然我现在想对齐文本中心,至少下拉和微调宽度现在是相等的。谢谢你看看。