Вручную установить ширину выпадающего списка счетчика в Android - PullRequest
4 голосов
/ 12 октября 2009

Можно ли установить ширину выпадающего списка счетчика в коде? У меня есть счетчик, заполненный целыми числами, и он не выглядит хорошо с расширением списка на полную ширину. Могу ли я установить ширину, чтобы обернуть содержимое каким-либо образом?

Spinner hSpinner = (Spinner) timerView.findViewById(R.id.timer_hour_spinner);
ArrayList<Integer> hList = new ArrayList<Integer>(21);

for (int i = 0; i <= 20; i++) { hList.add(i); }

ArrayAdapter hAdapter = new ArrayAdapter(RemindMe.this, android.R.layout.simple_spinner_item, hList);
hAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

hSpinner.setAdapter(hAdapter);

Спасибо! * * 1004

Linus

Ответы [ 4 ]

2 голосов
/ 07 мая 2013

Просто используйте:

setDropDownWidth(desiredWidth);
1 голос
/ 12 октября 2009

Вы можете изменить ширину чего-либо в коде, отрегулировав его LayoutParams. Детали этого зависят от контейнера (LinearLayout против RelativeLayout против ...).

Однако я запутался, почему вы хотите изменить ширину "в коде". Почему бы просто не установить ширину wrap_content в XML-макете?

0 голосов
/ 11 августа 2016

Установить ширину выпадающего списка в файле XML прядильщика с помощью тега

Android: dropDownWidth = "@ DIMEN / desired_width"

Объяснение:

mDropDownWidth = pa.getLayoutDimension(R.styleable.Spinner_dropDownWidth,
        ViewGroup.LayoutParams.WRAP_CONTENT);

это поле используется для ширины раскрывающегося списка, когда элемент прядильщика инициализируется в классе прядильщика

для программно изменяющейся ширины выпадающего списка счетчика выше уровня API 16, используйте

mSpinner.setDropDownWidth(size_in_pixel);
0 голосов
/ 16 ноября 2012

Управлять внешним видом выпадающего счетчика просто. Попробуйте это:

//Step 1. create the drop down list
static List<String> special_Spinner_Display_List = new ArrayList<String>();  
// add your values to the list...(this is best done using a for loop)
special_Spinner_Display_List.add(item1);
special_Spinner_Display_List.add(item2);  //etc., etc.

//Step 2. build the spinner
ArrayAdapter arrayAdapter_special = new ArrayAdapter(this, 
      R.layout.your_special_spinner, special_Spinner_Display_List);
arrayAdapter_special.setDropDownViewResource(R.layout.special_spinner_dropdown);
specialSpinner.setAdapter(arrayAdapter_special);

//Step 3. create an XML layout file called special_spinner_dropdown where you can 
//style to your heart's content.  Here's an example:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/SpinnerDropdown"
style="?android:attr/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#D5ECED"
android:ellipsize="marquee"
android:singleLine="true"
android:textSize="24sp" 
android:textStyle="bold"
android:textColor="@color/black" />

Вот и все. Дай мне знать, как это работает!

...