2016-07-16 4 views
2

Я хочу установить центр текста прядильщика и установить разделитель. Проблема в заданном тексте в центре и заданном разделителе. Кроме того, элементы spinner и значения spinner поступают с сервера json.Как установить текст с прядильщиком в центре и установить разделитель также

Это мой код:

XML:

<Spinner 
    android:id="@+id/txtSpinner" 
    android:layout_width="fill_parent" 
    style="@android:style/Widget.Holo.Light.Spinner" 
    android:dropDownVerticalOffset="28dp" 
    android:gravity="center_horizontal" 
    android:textAlignment="center" 
    android:layout_height="45dp" 
    /> 

Java код:

private void getSpinnerData() { 
    final ProgressDialog loading = ProgressDialog.show(this, "Loading Data", "Please wait...", false, false); 
    loading.setCancelable(true); 
    StringRequest stringRequest = new StringRequest(spinner_url, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
         loading.dismiss(); 
        JSONObject j_obj = null; 
        try { 
         j_obj = new JSONObject(response); 
         result = j_obj.getJSONArray("data"); 
         getdata(result); 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
       } 
      }); 
    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(stringRequest); 
} 
private void getdata(JSONArray j) { 
    for (int i = 0; i < j.length(); i++) { 
     try { 
      JSONObject json = j.getJSONObject(i); 
      spinnerlist.add(json.getString("category")); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 
    //Setting adapter to show the items in the spinner 
    txtSpinner.setAdapter(new ArrayAdapter<String>(TextActivity.this, android.R.layout.simple_spinner_dropdown_item, spinnerlist)); 

} 

выходной ток

enter image description here

То, что я хочу

this

+0

Может быть здесь http://stackoverflow.com/questions/4569751/how-to-show-divider- между-spinner-items –

+0

На стороне примечания, почему вы используете Holo, а не Material Design? –

ответ

1

мой ответ здесь его работы .....

создать новый стиль

<style name="ThemeName" parent="@android:style/Widget.Holo.Light.Spinner"> 
    <item name="android:dropDownListViewStyle">@style/mySpinnerStyle</item> 
</style> 
<style name="mySpinnerStyle" parent="@style/Widget.AppCompat.Spinner.Underlined"> 
    <item name="android:divider">#000</item> 
    <item name="android:dividerHeight">1dp</item> 
</style> 
0

Вы можете настроить Spinner, чтобы сделать все, что вы хотите. Если вы просто хотите установить разделитель, вам просто нужно настроить spinner_dropdown_item.xml с разделителем.