gpt4 book ai didi

Android Spinner——如何调整当前所选项目的大小?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:39 25 4
gpt4 key购买 nike

似乎微调器的大小适合其适配器中给定的最长项目。在大多数情况下,这是一种良好的行为,但在我的特定情况下,这是不可取的。

这可以关闭吗?我的猜测是不,通过查看源代码中的 Spinner.onMeasure(),但我想我会问。

最佳答案

我现在通过子类化 Spinner 实现了这一点:

public class SpinnerWrapContent extends IcsSpinner {
private boolean inOnMeasure;

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
inOnMeasure = true;
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
inOnMeasure = false;
}

public boolean isInOnMeasure() {
return inOnMeasure;
}
}

然后在我的 SpinnerAdapter 的 getView() 中,如果从 onMeasure() 调用我,我将使用当前选择的位置:

    public View getView(int position, View convertView, ViewGroup parent) {
View view;

if (convertView != null)
view = convertView;
else {
int fixedPosition = (spinner.isInOnMeasure() ? spinner.getSelectedItemPosition() : position);

// Here create view for fixedPosition
}

return view;
}

关于Android Spinner——如何调整当前所选项目的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13170264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com