boolean dismissTouchOutside, boolean cancelable) {
final LayoutInflater inflater = LayoutInflater.from(activity);
View v = inflater.inflate(R.layout.progress_hud, null);
Dialog dialog = getCustomDialog(activity, v, dismissTouchOutside, cancelable, -1);
if (dismissTouchOutside) {
dialog.setCanceledOnTouchOutside(true);
} else {
dialog.setCanceledOnTouchOutside(false);
}
ImageView spinner = (ImageView) v.findViewById(R.id.spinnerImageView);
((AnimationDrawable) spinner.getBackground()).start();
TextView messageTv = (TextView) v.findViewById(R.id.message);
if (TextUtils.isEmpty(message)) {
messageTv.setVisibility(View.GONE);
} else {
messageTv.setText(message);
messageTv.setVisibility(View.VISIBLE);
}
return dialog;
}
public static Dialog getCustomDialog(final Activity activity, View view, boolean dismissTouchOutside,
boolean cancelable, int theme) {
//Dialog dialog = theme > 0 ? new FullScreenDialogHUD(activity, theme)
// : new Dialog(activity, R.style.Dialog_FullScreen);
Dialog dialog = new Dialog(activity, R.style.Dialog_FullScreen);
dialog.setContentView(view);
dialog.setCancelable(cancelable);
dialog.setCanceledOnTouchOutside(dismissTouchOutside);
if (!cancelable) {
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {
dialog.dismiss();
activity.finish();
}
return false;
}
});
}
return dialog;
}
public static Dialog getOneButtonDialog(final Activity activity, String content,
boolean dismissTouchOutside, boolean cancelable,
DialogInterface.OnClickListener confirmOnClickListener) {
Dialog dialog = new AlertDialog.Builder(activity)
.setPositiveButton(R.string.confirm, confirmOnClickListener)
.setCancelable(cancelable)
.setMessage(content)
.create();
dialog.setCanceledOnTouchOutside(dismissTouchOutside);
if (!cancelable) {
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {
dialog.dismiss();
activity.finish();
}
return false;
}
});
}
return dialog;
}
public static Dialog getButtonsDialog(Activity activity, int resId,
DialogInterface.OnClickListener confirmOnClickListener) {
return getButtonsDialog(activity, activity.getString(resId), true, true, confirmOnClickListener,
null);
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
最后
由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。
)**
[外链图片转存中…(img-vt91C8AM-1710509482181)]
最后
由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。
需要的朋友可以私信我【答案】或者点击这里免费领取