【问题标题】:Text will not move to the left in a spinner文本不会在微调器中向左移动
【发布时间】:2017-04-20 17:00:45
【问题描述】:

我正在尝试将微调器中的文本放在尽可能左的位置。我在微调器的属性框中尝试了几个选项,但无法将文本向左移动。我遇到问题的微调器是 spinner5。感谢您的帮助。

这是我用于 Activity_Main.xml 的内容

<Spinner
            android:id="@+id/spinner5"
            android:layout_width="135dp"
            android:layout_height="35dp"
            android:layout_gravity="start"
            android:layout_marginLeft="235dp"
            android:layout_marginStart="235dp"
            android:layout_marginTop="-36dp"
            android:background="#c3c3c3"
            android:paddingTop="6dp" />

这是我用于 MainActivity.java 的内容

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.Spinner;


public class MainActivity extends ActionBarActivity {
    Spinner sp;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        sp=(Spinner)findViewById(R.id.spinner1);
        ArrayAdapter<CharSequence>ar=ArrayAdapter.createFromResource(this,R.array.minesite, android.R.layout.simple_expandable_list_item_1);
        ar.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        sp.setAdapter(ar);

        sp=(Spinner)findViewById(R.id.spinner2);
        ArrayAdapter<CharSequence>ar1=ArrayAdapter.createFromResource(this,R.array.AreaOfInspection,android.R.layout.simple_expandable_list_item_1); 
        ar.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        sp.setAdapter(ar1);

        sp=(Spinner)findViewById(R.id.spinner3);
        ArrayAdapter<CharSequence>ar2=ArrayAdapter.createFromResource(this,R.array.Personoberving,android.R.layout.simple_expandable_list_item_1);
        ar.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        sp.setAdapter(ar2);

        sp=(Spinner)findViewById(R.id.spinner4);
        ArrayAdapter<CharSequence>ar3=ArrayAdapter.createFromResource(this,R.array.task,android.R.layout.simple_expandable_list_item_1);
        ar.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        sp.setAdapter(ar3);

        sp=(Spinner)findViewById(R.id.spinner5);
        ArrayAdapter<CharSequence>ar4=ArrayAdapter.createFromResource(this,R.array.day,android.R.layout.simple_expandable_list_item_1);
        ar.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        sp.setAdapter(ar4);

请看附图

【问题讨论】:

  • 你试过我的答案了吗

标签: android eclipse android-layout android-spinner


【解决方案1】:

你只需要做类似@dweidler 的事情。 您必须使用自定义布局。

创建 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:padding="10dp"
    android:textAlignment="gravity"
    android:gravity="left"
    />

并像这样在 MainActivity.java 中初始化 ArrayAdapter

// Initializing an ArrayAdapter
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
                this,R.layout.spinner_item,R.array.your_array);
spinnerArrayAdapter.setDropDownViewResource(R.layout.spinner_item);
spinner.setAdapter(spinnerArrayAdapter);

【讨论】:

    猜你喜欢
    • 2014-01-24
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多