Android – текст сдвинут влево в Spinner

У меня есть прядильщик со стилем. Стиль содержит только фон для счетчика. Проблема в том, что независимо от того, какое изображение я использую для фона, текст счетчика всегда сдвигается влево.

Это объявление Spinner в XML –

<Spinner android:layout_height="wrap_content" android:layout_toRightOf="@+id/minus" android:layout_width="wrap_content" android:layout_below="@+id/female" android:id="@+id/spin" android:gravity="center" android:background="@drawable/spin" android:layout_marginTop="10dip"> </Spinner> 

Кроме того, я получаю предупреждение под атрибутом android: gravity, который говорит, что это неизвестный атрибут XML.

Я не могу понять, почему он это делает.

благодаря

Solutions Collecting From Web of "Android – текст сдвинут влево в Spinner"

Продолжая мой последний комментарий выше …

Следующий код изменяет приложение «Привет-Spinner» для отображения содержимого текста с прядильным центром по горизонтали, как показано на следующих двух снимках экрана.

разреш / макет / my_spinner_textview.xml

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" style="?android:attr/spinnerItemStyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" /> 
 public class HelloSpinner extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, // android.R.layout.simple_spinner_item); R.layout.my_spinner_textview); // adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); adapter.setDropDownViewResource(R.layout.my_spinner_textview); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new MyOnItemSelectedListener()); } //No other modification needed. 

Это, надеюсь, обеспечивает достаточное направление для устранения проблемы.

Добавьте гравитацию в свой XML-файл …

 <Spinner android:gravity="center"> </Spinner> 

Или добавьте гравитацию в свой код Java …

 Spinner spinner = (Spinner)findViewById(R.id.spinner); spinner.setGravity(17); //17 = center 

Использовать android: textAlignment = тег "center" на spinner

  <android.support.v7.widget.AppCompatSpinner android:id="@+id/state" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAlignment="center"/> 

У меня тоже была эта проблема, и принятый ответ мне не помог.

Если это также относится к вам, убедитесь, что ни один родительский макет не переопределяет гравитацию элемента прядильной машины. В моем случае мне нужно было установить силу тяжести всего Spinner вправо.

Если вы хотите видеть флажки в раскрывающемся меню, используя собственный макет:

 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( mContext, R.array.room_list, R.layout.spinner_layout); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); yourSpinner.setAdapter(adapter); 

Обратите внимание на «андроид» перед «R.layout ….» в строке, где вы помещаете раскрывающийся список ресурсов!