android– 如何通过多项选择重新调整Spinner中项目的高度?

android– 如何通过多项选择重新调整Spinner中项目的高度?,第1张

概述我只是根据这个stackoverflowanswer(see@Destilanswer)显示微调器有多种选择.这里我的问题是我无法通过多种选择调整Spinner中项目的高度.如何重新调整每个项目的高度?解决方法:据我所知,您将不得不使用自定义适配器,并覆盖getDropDown和getView方法.您将能够自定义自定义布局的

我只是根据这个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中项目的高度?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1109662.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存