-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
2.代码实现
public class MainActivity extends AppCompatActivity { private PopupWindow popupWindow; private View popupView; private EditText etPayPwd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnWithdraw = (Button) findViewById(R.id.btnWithdraw); btnWithdraw.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showPayPwdDialog(); BrightnessManager.lightOff(MainActivity.this); } }); } private void showPayPwdDialog() { if (popupWindow == null) { popupView = View.inflate(MainActivity.this, R.layout.popupwindow_pay_pwd, null); popupWindow = new PopupWindow(popupView, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { BrightnessManager.lightOn(MainActivity.this); etPayPwd.setText(""); } }); popupWindow.setBackgroundDrawable(new BitmapDrawable()); popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); ToggleButton togglePwd = (ToggleButton) popupView.findViewById(R.id.togglePwd); etPayPwd = (EditText) popupView.findViewById(R.id.etPayPwd); togglePwd.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { //如果选中,显示密码 etPayPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); } else { //否则隐藏密码 etPayPwd.setTransformationMethod(PasswordTransformationMethod.getInstance()); } } }); popupView.findViewById(R.id.tvCancel).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow.dismiss(); BrightnessManager.lightOn(MainActivity.this); } }); popupView.findViewById(R.id.tvConfirm).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String payPwd = etPayPwd.getText().toString(); popupWindow.dismiss(); BrightnessManager.lightOn(MainActivity.this); if (!TextUtils.isEmpty(payPwd)) { Toast.makeText(MainActivity.this, "提现请求提交成功!", Toast.LENGTH_SHORT).show(); } } }); } if (popupWindow.isShowing()) { popupWindow.dismiss(); BrightnessManager.lightOn(MainActivity.this); } popupWindow.showAtLocation(MainActivity.this.findViewById(R.id.activity_main), Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0); } }
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
[外链图片转存中…(img-LN2biPEC-1715047081152)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!