其他分享
首页 > 其他分享> > 如何在Android中限制Spinner下拉视图的高度

如何在Android中限制Spinner下拉视图的高度

作者:互联网

请建议我用来创建它的任何方法.

查询:我正在创建2-Spinner视图,其中我必须添加国家/城市列表,所以如果我选择印度然后我在下拉视图中获得50个项目,问题是它占据了整个页面身高.

我想要的是:我想创建一个下拉视图,用户只能在其中看到10个项目
下拉视图,只要用户滚动下拉视图,就会显示其他项目.

解决方法:

你可以使用Reflection.

    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    try {
        Field popup = Spinner.class.getDeclaredField("mPopup");
        popup.setAccessible(true);

        // Get private mPopup member variable and try cast to ListPopupWindow
        android.widget.ListPopupWindow popupWindow = (android.widget.ListPopupWindow) popup.get(spinner);

        // Set popupWindow height to 500px
        popupWindow.setHeight(500);
    }
    catch (NoClassDefFoundError | ClassCastException | NoSuchFieldException | IllegalAccessException e) {
        // silently fail...
    }

标签:android,android-layout,android-spinner
来源: https://codeday.me/bug/20190919/1813071.html