在中心对齐文本 - 微调器

6 xml android

这是代码:

spinner.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="40dp"
android:maxLines="1"
android:gravity="center"
android:singleLine="true"
android:textColor="#FFFFFF"
android:textSize="12sp" />
Run Code Online (Sandbox Code Playgroud)

微调器:

    <Spinner
                android:id="@+id/spinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center" />
Run Code Online (Sandbox Code Playgroud)

Java:

        array = new ArrayAdapter<String>(Activity.this,
                 R.layout.spinner, ArrayList);
        array .setDropDownViewResource(R.layout.spinner);
        Spinner.setAdapter(array );
        Spinner.setOnItemSelectedListener(this);
Run Code Online (Sandbox Code Playgroud)

问题:文本仍然与左对齐

Pra*_*arg 10

在微调器上使用以下标记

android:textAlignment="center"
Run Code Online (Sandbox Code Playgroud)


Mou*_*oud 7

只需添加您的默认应用主题样式这两行:

<item name="android:spinnerItemStyle">@style/spinnerItemStyle</item>
<item name="android:spinnerDropDownItemStyle">
   @style/spinnerDropDownItemStyle
</item>
Run Code Online (Sandbox Code Playgroud)

创造新的风格:

<style name="spinnerItemStyle">
    <item name="android:gravity">center</item>
</style>

<style name="spinnerDropDownItemStyle">
    <item name="android:gravity">center</item>
</style>
Run Code Online (Sandbox Code Playgroud)

而已 !

请注意,此处使用的基本主题是:Theme.AppCompat.Light,它将作为应用程序中的默认微调器样式应用.


Osc*_*lon 6

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:ellipsize="marquee"
    android:textAlignment="center"
    android:textSize="17sp"
    tools:ignore="MissingPrefix" />
Run Code Online (Sandbox Code Playgroud)

使用此Textview作为传递给适配器的布局.
android:textAlignment="center"这条线是制造魔力的人


San*_*sad 5

将这一行添加到您的 Spinner 中,

android:textAlignment="center"
Run Code Online (Sandbox Code Playgroud)

完毕!


小智 3

我已经关注了:http://nevesheng.blogspot.fr/2013/05/spinner-with-item-text-aligned-to-center.html & 这工作得很好

我注意到我在 value-v11 文件夹中有另一个 spinner xml,这个没有修改,我已经修改了它并且它有效