
我只是根据这个stackoverflow answer(see @Destil answer)显示微调器有多种选择.这里我的问题是我无法通过多种选择调整Spinner中项目的高度.如何重新调整每个项目的高度?
解决方法:
据我所知,您将不得不使用自定义适配器,并覆盖getDropDown和getVIEw方法.您将能够自定义自定义布局的每个项目.
嗯……单词很好,例如更好,尝试类似的东西:
public class CustomStringArrayAdapter extends ArrayAdapter<String>{private Activity myActivity;public CustomStringArrayAdapter(Context context, int layoutResourceID, int textVIEwResourceID, List<String> objects, Activity act){ super(context, layoutResourceID, textVIEwResourceID, objects); this.myActivity = act;}@OverrIDepublic VIEw getDropDownVIEw(int position, VIEw convertVIEw, VIEwGroup parent){ return getCustomVIEw(position, convertVIEw, parent);}public VIEw getCustomVIEw(int position, VIEw convertVIEw, VIEwGroup parent){ LayoutInflater inflater = myActivity.getLayoutInflater(); VIEw row = inflater.inflate(R.layout.spinner_layout, parent, false); TextVIEw label = (TextVIEw) row.findVIEwByID(R.ID.spinner_textvIEw); label.setText(getItem(position)); linearLayout layout = (linearLayout) row.findVIEwByID(R.ID.spinner_linear_layout); return row;}@OverrIDepublic VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent){ LayoutInflater inflater = myActivity.getLayoutInflater(); VIEw row = inflater.inflate(R.layout.spinner_layout, parent, false); TextVIEw label = (TextVIEw) row.findVIEwByID(R.ID.spinner_textvIEw); label.setText(getItem(position)); return row; }}和布局:
<?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="50dp" androID:layout_gravity="center" androID:gravity="center" androID:background="@drawable/transparent" androID:ID="@+ID/spinner_linear_layout"> <TextVIEw androID:layout_height="fill_parent" androID:layout_wIDth="fill_parent" androID:gravity="center" androID:layout_gravity="center" androID:textSize="21sp" androID:singleline="true" androID:ID="@+ID/spinner_textvIEw" androID:textcolor="@color/black" /></linearLayout>(但它只是一个示例,如果要根据选择调整大小,可以在每个对象上添加一个布尔mSelected并根据此布尔值更改视图)
编辑:然后在MultiSpinner中:
删除这个:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), androID.R.layout.simple_spinner_item, new String[] { spinnerText }); setAdapter(adapter);并在微调器中添加新的自定义适配器:
MultiSpinner mMultiSpinner = (MultiSpinner) findVIEwByID(R.ID.multispinner);mMultiSpinner.setAdapter(mCustomArrayAdapter); 总结 以上是内存溢出为你收集整理的android – 如何通过多项选择重新调整Spinner中项目的高度?全部内容,希望文章能够帮你解决android – 如何通过多项选择重新调整Spinner中项目的高度?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)