alertdialog全屏

项目添加了右滑返回的时候发现有popupwindow的弹框并且设置了弹出显示透明遮罩的界面有冲突,导致整个界面消失了,找不到好的方法就只能修改以前的popupwindow了。

改成alertdialog,用的是4.4版本的手机测试,一切正常,但放到5.0的手机之后,弹框不全屏了,而且里面的文字也不见了。

1.

<style name="FullScreenDialog" parent="android:style/Theme.Dialog"> 

    <item name="android:windowNoTitle">true</item> 

    <item name="android:windowFrame">@null</item> 

    <item name="android:windowIsFloating">true</item> 

    <item name="android:windowIsTranslucent">false</item> 

    <item name="android:background">@android:color/black</item> 

    <item name="android:windowBackground">@null</item> 

    <item name="android:backgroundDimEnabled">false</item> 

</style> 

设置一下主题

 new AlertDialog.Builder(activity,R.style.FullScreenDialog)
Window window = alertDialog.getWindow();
window.setLayout(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
加上这两部就全屏了
2.字体不见了,看了下布局,里面的字体没有设置颜色,设置一下字体颜色,发现可以,真是见鬼了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
平时工作需要,加上自己的业余时间做了这么一个控件。普通模式就像 AlertDialog , 只不过宽度是全屏,并且对进入和退出动画做了优化,使用方法参考下面代码XanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.setTitle("Title")     .setIcon(R.mipmap.ic_launcher)     .setMessage("I am Message!!!")     .setGravity(Gravity.TOP)     .setController("Cancel", "Ok", new PanelInterface.PanelControllerListener() {         @Override         public void onPanelNagetiiveClick(XanderPanel panel) {             toast("onPanelNagetiiveClick");         }         @Override         public void onPanelPositiveClick(XanderPanel panel) {             toast("onPanelPositiveClick");         }     })     .setCanceledOnTouchOutside(true); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();Sheet 模式仿照 iOS 上的 ActionSheet 做的,XanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.setSheet(     new String[]{"I", "am", "sheet", "item"},     true,     new PanelInterface.SheetListener() {         @Override         public void onSheetItemClick(int position) {             toast("click sheet item "   position);         }         @Override         public void onSheetCancelClick() {             toast("sheet cancel");         }     } ); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();Menu 模式添加对 menu.xml 文件的支持, menuitem 的宽度时全屏的,现在很多 app 都是这样子的设计了。 同时还可以设置排列的样式 list 和 gridXanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.list() .setMenu(R.menu.main_menu, new PanelInterface.PanelMenuListener() {     @Override     public void onMenuClick(MenuItem menuItem) {         toast("click MenuItem "   menuItem.getTitle());     } }) .setGravity(Gravity.BOTTOM) .setCanceledOnTouchOutside(true); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();自定义布局同样支持自定义布局,自定义布局代码可参考如下代码XanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.setCanceledOnTouchOutside(true); mBuilder.setGravity(Gravity.BOTTOM); View mCustomViewBottom = mInflater.inflate(R.layout.custom_layout, null); mBuilder.setView(mCustomViewBottom); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();分享模式项目里面有时候需要分享,顺便就加进来了,同样支持 list 和 grid 样式排列XanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.grid(2,3) .shareText("test share") .setGravity(Gravity.BOTTOM) .setCanceledOnTouchOutside(true); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();如何使用发布到了 Jcenter , 如果你是用 Android studio 开发的话,会比较方便,在模块 build.gradle 下添加gradledependencies {     compile fileTree(dir: 'libs', include: ['*.jar'])     compile 'com.xandy.panel:xanderpanel:1.3' }maven<dependency>   <groupId>com.xander.panel</groupId>   <artifactId>xanderpanel</artifactId>   <version>1.3</version>   <type>pom</type> </dependency>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值