【中级—,BAT面试&高级进阶

}

自定义Style

定义进入和退出的动画:

进入:

<?xml version="1.0" encoding="utf-8"?> 退出 <?xml version="1.0" encoding="utf-8"?> 动画的style

在指定的位置显示

//显示窗口
window.showAtLocation(MainActivity.this.findViewById(R.id.main), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0); //设置layout在PopupWindow中显示的位置

使用Dialog完成:

定义style

动画: 和popupwindow一致

自定义Dialog:

/**

  • 选择图片对话框
  • Created by chenlijin on 2016/4/12.
    */
    public class SelectPicDialog extends Dialog {
    public SelectPicDialog(Context context, int themeResId) {
    super(context, themeResId);
    }

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_select_pic);
ButterKnife.bind(this);

}

@OnClick({R.id.linearlayout_out,R.id.textview_take_photo, R.id.textview_select_photo, R.id.textview_cancal})
public void onClick(View view) {
switch (view.getId()) {
case R.id.textview_take_photo:
if(listener!=null){
listener.onClickTakePhoto();
}
this.cancel();
break;
case R.id.textview_select_photo:
if(listener!=null){
listener.onClickSelectPic();
}
this.cancel();
break;
case R.id.linearlayout_out:
case R.id.textview_cancal:
this.cancel();
break;
}
}

private OnWindowItemClickListener listener;

public void setOnWindowItemClickListener(OnWindowItemClickListener listener) {
this.listener = listener;
}

public interface OnWindowItemClickListener {
void onClickTakePhoto();
void onClickSelectPic();
}
}

在Activity中调用:

SelectPicDialog dialog = new SelectPicDialog(mContext,R.style.MyDialog);
Window window = dialog.getWindow();
window.setGravity(Gravity.BOTTOM); //此处可以设置dialog显示的位置
window.setWindowAnimations(R.style.mypopwindow_anim_style); //添加动画
dialog.show();
dialog.setOnWindowItemClickListener(new SelectPicDialog.OnWindowItemClickListener(){

@Override
public void onClickTakePhoto() {
startActivityForResult(createCameraIntent(), CREATE_CAMERA); //选择拍照
}

@Override
public void onClickSelectPic() {
startActivityForResult(createPickIntent(), CREATE_PICK); //选择启用系统的选择图片

资源分享

  • 最新大厂面试专题

这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等

  • 对应导图的Android高级工程师进阶系统学习视频
    最近热门的,NDK,热修复,MVVM,源码等一系列系统学习视频都有!

中…(img-bQhZKXzK-1645112964815)]

  • 对应导图的Android高级工程师进阶系统学习视频
    最近热门的,NDK,热修复,MVVM,源码等一系列系统学习视频都有!

[外链图片转存中…(img-y7BJY0Mq-1645112964816)]

下载方法:点赞+关注后 点击【Android高级工程师进阶学习】即可领取!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值