Как изменить выпадающую высоту в прядильщике

Я много пытался изменить выпадающий пункт высоты spinner .. но я не мог получить хорошее решение .. PLZ помочь мне, ребята ..

Вот код loginactivityview.xml

<Spinner android:id="@+id/spinnerFacility" android:layout_width="400dip" android:layout_height="50dip" android:layout_alignLeft="@+id/lpassword" android:layout_below="@+id/lpassword" android:layout_marginTop="32dip" android:background="@drawable/location" android:paddingLeft="10dip" android:dropDownWidth="@style/dropDown" android:minHeight="40dip" android:typeface="monospace" /> 

loginrowspinner.xml

  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/textViewRowFacility" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="left" android:paddingBottom="5dip" android:paddingLeft="6dip" android:paddingRight="6dip" android:paddingTop="5dip" android:text="Facility" android:textColor="#000000" android:textSize="20dip" > </TextView> 

Введите описание изображения здесь

Как изменить высоту падения любой идеи ..

Просто добавьте это в свой адаптер.

 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

В loginrowspinner.xml добавьте android:minHeight="48dp" в элемент TextView .

  <TextView ... android:id="@+id/textViewRowFacility" android:minHeight="48dp" /> 

Может быть, это может помочь ..

 ArrayAdapter<String> yourSpinnerAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item, yourItem) { @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { convertView = super.getDropDownView(position, convertView, parent); convertView.setVisibility(View.VISIBLE); ViewGroup.LayoutParams p = convertView.getLayoutParams(); p.height = 100; // set the height convertView.setLayoutParams(p); return convertView; } }; 

Создайте свой собственный текстовый вид в папке макета, подобный этому, который будет заполнен всплывающим всплывающим окном

 <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerItemStyle" android:layout_width="match_parent" android:layout_height="60dp" android:gravity="center_vertical" android:paddingLeft="20dp" android:ellipsize="marquee" android:singleLine="true" android:textSize="18sp" android:textAlignment="inherit" /> 

Примечание. Я предоставил

 android:layout_height="60dp" 

а также

 android:paddingLeft="20dp" 

И используйте это для вашего счетчика, как это

 Spinner dropdown = (Spinner)findViewById(R.id.sosMode); String[] items = new String[]{"Date", "Travelling alone"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.custom_dropdown_list, items); dropdown.setAdapter(adapter); 

Это работает для меня 🙂

Вы можете попробовать использовать dps.

 @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); TextView textview = (TextView)inflater.inflate(android.R.layout.simple_spinner_item, null); textview.setText(alOpcion.get(position).getOpcionName()); DisplayMetrics metrics = parent.getResources().getDisplayMetrics(); float dp = 40f; float fpixels = metrics.density * dp; int pixels = (int) (fpixels + 0.5f); textview.setHeight(pixels); return textview; } 

Вы пробовали что-то вроде android:layout_height="30dp" вместо fill_parent для любого из этих элементов в loginrowspinner.xml?

Добавьте это в свой адаптер: convertView.setMinimumHeight (60); Который работает для меня.

// Это также может помочь:

  adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, dataForAdapter) { @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { View v = super.getView(position, convertView, parent); v.setMinimumHeight((int) (40*cx.getResources().getDisplayMetrics().density)); v.setBackgroundColor(Color.rgb(222, 222, 222)); return v; } };