簡體   English   中英

如何右對齊Android微調器

[英]How to right-align Android spinner

我正在嘗試右對齊 Android 微調器的文本。 我已經通過 Stack Overflow 並嘗試了推薦的解決方案,但它對我不起作用,所以我對我做錯了什么感到有些困惑。 我的感覺是由於我犯的錯誤,我的布局沒有被正確選擇。

我的activity.xml文件

<Spinner
android:id="@+id/spinnerStoreType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>

在 res\\layout 我創建了一個名為 simple_spinner_item.xml 的文件

<?xml version="1.0" encoding="utf-8"?>

<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="40sp"
    android:textColor="#FFFFFF"
    android:padding="10dip"
    android:gravity="right"
    />

最后,在我的活動中,我使用它如下:

spinnerStoreType = (Spinner) findViewById(R.id.spinnerStoreType);
ArrayAdapter<CharSequence> adapter =    
ArrayAdapter.createFromResource(this,
R.array.transaction_store_array, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spinnerStoreType.setAdapter(adapter);

所以,我相信使用的 simple_spinner_item 是默認的,Android 的。 我不清楚如何讓它使用我的自定義。 我認為如果它具有相同的名稱會自動發生?

非常感謝一如既往的任何幫助。

您可以完全使用樣式來實現這一點。 我認為這是最好的方法。 這是我的styles.xml-中的代碼

    <style name="AppTheme.Spinner">
        <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
        <item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item>
    </style>

    <style name="SpinnerItem">
        <item name="android:gravity">right|center_vertical</item>
        <item name="android:paddingRight">16dp</item>
    </style>

    <style name="SpinnerDropDownItem">
        <item name="android:gravity">right|center_vertical</item>
        <item name="android:paddingRight">16dp</item>
    </style>

這是微調器的實現-

       <Spinner
            android:id="@+id/type"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_below="@id/title"
            android:entries="@array/data"
            android:theme="@style/AppTheme.Spinner" />

android.R.layout.simple_spinner_item指的是來自android庫的微調項,不會有您的自定義屬性。 您應該使用R.layout.simple_spinner_item來引用您自己的布局。

如果您想使用android.R.layout.simple_spinner_item作為微調項,請將spinnerStoreType.setGravity(Gravity.RIGHT)添加到您的 Java 代碼中以進行右對齊。 所以,你的代碼可以是這樣的:

spinnerStoreType = (Spinner) findViewById(R.id.spinnerStoreType);
spinnerStoreType.setGravity(Gravity.RIGHT);   
ArrayAdapter<CharSequence> adapter =    
ArrayAdapter.createFromResource(this,
R.array.transaction_store_array, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spinnerStoreType.setAdapter(adapter);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM