当前位置: 首页 > 知识库问答 >
问题:

安卓系统中如何降低下拉高度?

锺离玮
2023-03-14

我在我的应用程序中使用默认的安卓旋转器,请指导我如何降低下拉的高度,因为默认的方法是不工作的。

共有2个答案

莫河
2023-03-14

检查此答案

 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...
}
牟稳
2023-03-14

通过使用Refelection,您可以设置下拉列表的高度

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...
    }

如果以上不起作用,则创建类扩展spinner类,覆盖其GetWindowVisibleDisplayFrame(Rect outRect)Android.Widget.PopupWindows使用该类进行计算。只需设置outRect以限制下拉视图可以显示的区域。

@Override
public void getWindowVisibleDisplayFrame(Rect outRect) {
    WindowManager wm = (WindowManager) getContext.getSystemService(Context.WINDOW_SERVICE);
    Display d = wm.getDefaultDisplay();
    d.getRectSize(outRect);
    outRect.set(outRect.left, <STATUS BAR HEIGHT>, outRect.right, outRect.bottom);
}
 类似资料:
  • 我想在我的android应用中改变相机闪光灯亮度...有可能吗?

  • 面试题预览 1. 请解释一下Android中的红外遥控的配置流程是怎样的?⭐⭐⭐⭐⭐ 2. 请解释一下Android中的蓝牙遥控的配置流程是怎样的?⭐⭐⭐⭐⭐ 3. 请解释一下Android中的按键处理流程是怎样的?⭐⭐⭐⭐ 4. 请解释一下Android中的输入法切换是如何实现的?⭐⭐⭐ 5. 请解释一下Android中的输入法界面定制是如何实现的?⭐⭐⭐⭐ 1 配置红外遥控 1.1 说明 1)

  • “ExtensionAttribute1”用于员工ID。(邮件和员工id项用于筛选所需数据。) 要在active directory中正确地组织数据将需要一些时间,但我希望立即解决这个问题,如只在用户登录尝试时导入等。

  • 我想从材质UI更改(减少)工具栏的默认高度 我已经提到了如何更改材质UI工具栏高度?但我仍然面临着这个问题 问题是,当我超过50岁时,我能看到变化。但当我想降低高度时,我无法做到。 我如何才能实现这一点? 我的代码:

  • 问题内容: 我正在研究将RequestDTO发送到Web服务的类。我需要先验证请求,然后再发送。 可以从3个不同的地方发送请求,每个“ requesttype”都有不同的验证规则,例如request1必须具有名称和电话号码,request2必须具有地址,等等) 我有一个DTO,其中包含很长的字段列表(名称,地址,城市,电话号码等),无论请求是哪种类型,DTO都发送相同的消息。 我创建了3种不同的验

  • 本文向大家介绍iscroll安卓低版本卡顿,如何解决?相关面试题,主要包含被问及iscroll安卓低版本卡顿,如何解决?时的应答技巧和注意事项,需要的朋友参考一下 方案一:iScroll v5.1.3 设置momentum: true 方案二:配置probeType 方案三:开启硬价加速:给scroll元素增加css样式:一webkit一transform:translate3d(0,0,0);

  • 问题内容: 我想降低CSS中的图像亮度。我进行了很多搜索,但所能获得的只是关于如何更改不透明度的信息,但这会使图像更明亮。谁能帮我 ? 问题答案: 您要寻找的功能是。它能够执行多种图像效果,包括亮度: 注意,这只是最近才成为CSS的功能。它是可用的,但大量的浏览器在那里将不会支持它,和那些支持它需要供应商名称(即,等)。 也可以使用SVG进行这样的滤镜效果。SVG对这些效果的支持已经建立并得到广泛

  • 问题内容: 我有一个接收对象并根据其检测到的对象类型执行某些操作的方法: 如何降低环复杂性?我四处搜寻,但找不到任何有用的资讯。 问题答案: 您不能为此使用面向对象的方法吗?创建具有该方法的接口,然后创建实现所需行为的子类?然后调用将执行适当的行为?