淘小米 2013-10-18 02:51 采纳率: 50%
浏览 8038
已采纳

android中设置自定义activity弹出框大小

我自己写了一个播放器界面,采用继承Theme.Dialog的形式,但是我觉得弹出框太小放不下我需要的内容,所以我想设置弹出框左右边距距离手机屏幕固定长度。但是在实际操作中我在activity文件里可以获取到屏幕宽度,但是无法设置弹出框大小。在xml文件里可以设置layout_width但是不知道怎么获取屏幕大小。求高人指点下如何设置?
CSDN移动问答

  • 写回答

1条回答 默认 最新

  • tankilo 2013-12-02 12:50
    关注

    在那个activity的OnCreate()方法里设置,我在http://www.apkbus.com/forum.php?mod=viewthread&tid=80334 那里搜到的,自己试了一下有效果的,可以设置弹出框大小。。
    WindowManager m = getWindowManager();
    Display d = m.getDefaultDisplay(); // 为获取屏幕宽、高
    LayoutParams p = getWindow().getAttributes(); // 获取对话框当前的参值
    p.height = (int) (d.getHeight() * 1.0); // 高度设置为屏幕的1.0
    p.width = (int) (d.getWidth() * 0.7); // 宽度设置为屏幕的0.8
    p.alpha = 1.0f; // 设置本身透明度
    p.dimAmount = 0.0f; // 设置黑暗度
    getWindow().setAttributes(p); // 设置生效
    getWindow().setGravity(Gravity.RIGHT); // 设置靠右对齐

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用