Размер текста блесны - PullRequest
5 голосов
/ 25 июля 2010

Как я могу уменьшить размер шрифта моего блесны? Я уменьшил размер счетчика до 35 пикселей, из-за чего мой текст обрезается пополам.

Как мне это сделать? Также я не хочу ничего выбирать заранее.

Текст по умолчанию должен быть "select some value".

Ответы [ 4 ]

22 голосов
/ 25 июля 2010

после некоторых тестов есть более простой способ, чем создать подкласс ArrayAdapter.Измените

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array,android.R.layout.simple_spinner_item);//this is from the tutorial, adapt with your line

на эту строку:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.textview);

Вам просто нужно изменить дизайн TextView, который вы используете Spinner.Я только что попробовал с этим, как макет textview.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:text="@+id/TextView01" android:id="@+id/TextView01"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="30sp"></TextView>
10 голосов
/ 25 февраля 2011

Изменение

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array,android.R.layout.simple_spinner_item);

на ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.textview);

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

adapter.setDropDownViewResource(android.R.layout.simple_spinner_item)   to 


adapter.setDropDownViewResource(R.layout.textview);
4 голосов
/ 25 января 2013

определить 2 xml: R.layout.spinner_item, R.layout.spinner_dropdown_item

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);

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"
    style="?android:attr/spinnerItemStyle"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:textSize="18sp" >
</TextView>

spinner_dropdown_item.xml

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="?android:attr/spinnerDropDownItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:ellipsize="marquee"
    android:textSize="18sp" />

-------------------------------- Update -------------- ------------------------

код отдыха:

final ActionBar actionBar = getActivity().getActionBar();
RelativeLayout relative = new RelativeLayout(getActivity());
Spinner spinner = new Spinner(getActivity());
spinner.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));

relative.addView(spinner);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(relative);

// Set adapter and listener
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
0 голосов
/ 29 апреля 2017

Настройка android:scaleX и anrdoid:scaleY кажется простым способом изменить размер шрифта счетчика.

...