java 动画怎么去白框_android dialog去白色边框,设置边框大小,加载gif动画

本文介绍了如何在Android中创建一个无白框的Dialog,并展示加载GIF动画。通过在drawable中创建动画资源,value文件夹中定义Dialog样式,以及在Java代码中设置Dialog的内容和样式,实现了自定义动画的完美融合,避免了尺寸失真和空白部分的问题。
摘要由CSDN通过智能技术生成

之前写过一个alertdialog加载gif动画的程序,但其实在调节的过程中遇到了很多问题,最重要的就是,无法让动画跟alertdialog框默认样式完美融合,总是多出来空白的部分,图片尺寸也失真,

至此,知道alertdialog对话框不适合做自定义动画,它的样式比较局限于对话框.所以我用dialog重要实现了一次。。过程没太大不同,但它提供的自定义样式文件帮助还是很大的;

这边我就简写一下:

一.在res新建drawable文件夹,导入gif的帧图片集合,建animail_pro.xml,设置编写图片集;

二.在value文件夹里建一个style.xml样式文件,定义dialog样式

fe8690b5e163a0fd21acd3a54bc54dd5.png

style.xml

true

@null

true

false

@android:color/black

@null

true

三.java代码部分

Dialog dialog=null;

publicvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);//进程加载

dialog= new Dialog(LinkMap.this, R.style.Dialog);//去白框dialog里面具体设置样式

dialog.setContentView(GetView());

dialog.show();

Window dialogWindow=dialog.getWindow();//AlertDialog.Builder builder = new Builder(LinkMap.this);//builder.setView(GetView());//dialog_pro=builder.create();//dialog_pro.show();

//定义dialog大小跟位置(默认Gravity是局中)

//Window dialogWindow = dialog_pro.getWindow();

//WindowManager.LayoutParams lp = dialogWindow.getAttributes();

//dialogWindow.setGravity(Gravity.CENTER_VERTICAL| Gravity.TOP);

//lp.width = 193; //193 宽度

//lp.height = 126; // 126高度

//dialogWindow.setAttributes(lp);

//dialog_pro.setView(GetView(),0,0,0,0);//去除边框

//设置窗口的大小

dialogWindow.setLayout(193,126);

}//animal view

public View GetView()

{

View view=super.getLayoutInflater().inflate(R.layout.progress,(ViewGroup) findViewById(R.id.progress_img));

final ImageView iv=(ImageView)view.findViewById(R.id.animal_img);

iv.setImageResource(R.drawable.animal_pro);//绑定数据源

//启动 动画,因为如果没有启动方法,它没办法自己启动

iv.post(newRunnable() {

@Override

publicvoidrun() {//TODO Auto-generated method stub

AnimationDrawable animationDrawable=(AnimationDrawable)iv.getDrawable();//获取imageview绘画

animationDrawable.start();//开始绘画

}

});returnview;

}

在要关闭的地方再dialog.dismiss一下就ok了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值