android 宽度动画,android开发篇:dialog全屏,宽度全屏和动画

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

dialog 是一个弹出框,一般用作提示,当然也可以做一个弹出的接口,现在app开发中更多的是做一个从底部弹出的选择列表。在开发过程中有几个难题,我们需要一一解决。

dialog如何全屏

dialog全屏在java代码里,xml修改都不顶用,不管是setPadding=0还是LayoutParams.FillParent都会在屏幕边缘出现一点空隙。网上的方法都是千篇一律。最后找到两种方法,两种方法都要用到style。

方法一:style里面设置全屏

java代码

Dialog dialog=new Dialog(this,R.style.dialog_fullscreen);

dialog.setContentView(R.layout.main);

dialog.show();

style.xml

true

方法二:代码里面修改全屏

java代码

dialog.setContentView(R.layout.main);

dialog.show();

Window window = dialog.getWindow();//必须在show之后设置dialog的宽高

WindowManager.LayoutParams layoutParams = window

.getAttributes();

layoutParams.width = LayoutParams.MATCH_PARENT;

layoutParams.height = LayoutParams.MATCH_PARENT;

window.setAttributes(layoutParams);

style.xml

dialog如何宽度全屏

dialog宽度全屏也得用到style,然后在代码里面将高度设置为wrap_content就可以了。同时我们可以设置dialog出现的位置。

java代码

Dialog dialog = new Dialog(context, R.style.dialog);

dialog.setContentView(R.layout.main);

WindowManager.LayoutParams layoutParams = window.getAttributes();

layoutParams.width = LayoutParams.MATCH_PARENT;

layoutParams.height = LayoutParams.WRAP_CONTENT;

window.setGravity(Gravity.BOTTOM);//设置为dialog出现在屏幕底部

window.setAttributes(layoutParams);

style.xml

dialog弹出动画效果

dialog的出现和退出可以做一个动画,同样需要用到style,通过style调用drawable动画实现。

Dialog dialog = new Dialog(context, R.style.dialog);

Window window = dialog.getWindow();

window.setWindowAnimations(R.style.dialog_animation); // 添加动画

dialog.setContentView(R.layout.main);

//dialog.setCanceledOnTouchOutside(true);

//dialog.setTitle("标题");

dialog.show();

window.setGravity(Gravity.BOTTOM);

/*

WindowManager.LayoutParams layoutParams = window

.getAttributes();

layoutParams.width = LayoutParams.MATCH_PARENT;

layoutParams.height = LayoutParams.WRAP_CONTENT;

window.setAttributes(layoutParams);

*/

style.xml

@drawable/dialog_enter

@drawable/dialog_exit

dialog_enter.xml

android:duration="600"

android:fromYDelta="100%p" />

bdialog_exit.xml

android:duration="600"

android:toYDelta="100%p" />

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值