写在最后
本次我的分享也接近尾声了,感谢你们在百忙中花上一下午来这里聆听我的宣讲,希望在接下来的日子,我们共同成长,一起进步!!!
最后放上一个大概的Android学习方向及思路(详细的内容太多了~),提供给大家:
对于程序员来说,要学习的知识内容、技术有太多太多,这里就先放上一部分,其他的内容有机会在后面的文章向大家呈现出来,不过我自己所有的学习资料都整理成了一个文档,一直在不断学习,希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!
Android架构师之路很漫长,一起共勉吧!
如果你觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言,一定会认真查询,修正不足,谢谢。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
super.onCreate(savedInstanceState);
if (null != view) {
setContentView(view);
setCancelable(isCancelable);//点击外部是否可以关闭Dialog
setCanceledOnTouchOutside(isCanceledOnTouchOutside);//返回键是否可以关闭Dialog
Window window = this.getWindow();
assert window != null;
switch (locationView) {
case TOP:
window.setGravity(Gravity.TOP);
break;
case BOTTOM:
window.setGravity(Gravity.BOTTOM);
break;
case CENTER:
window.setGravity(Gravity.CENTER);
break;
}
WindowManager.LayoutParams params = window.getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(params);
}
}
public enum LocationView {
CENTER, TOP, BOTTOM
}
}
Kotlin
/**
-
@author ThirdGoddess
-
@email ofmyhub@gmail.com
-
@Github https://github.com/ThirdGoddess
-
@date :2019-12-29 01:24
*/
class BoxDialog : Dialog {
//Dialog View
private var view: View?
//Dialog弹出位置
private var locationView = LocationView.CENTER
/**
-
@param context 上下文
-
@param view Dialog View
*/
constructor(context: Context?, view: View?) : super(context!!, R.style.MyDialog) {
this.view = view
}
/**
-
@param context 上下文
-
@param view Dialog View
-
@param locationView Dialog弹出位置
*/
constructor(context: Context?, view: View?, locationView: LocationView) : super(context!!, R.style.MyDialog) {
this.view = view
this.locationView = locationView
}
@SuppressLint(“RtlHardcoded”)
override fun onCreate(savedInstanceState: Bundle) {
super.onCreate(savedInstanceState)
if (null != view) {
setContentView(view!!)
setCancelable(isCancelable) //点击外部是否可以关闭Dialog
setCanceledOnTouchOutside(isCanceledOnTouchOutside) //返回键是否可以关闭Dialog
val window = this.window!!
when (locationView) {
LocationView.TOP -> window.setGravity(Gravity.TOP)
LocationView.BOTTOM -> window.setGravity(Gravity.BOTTOM)
LocationView.CENTER -> window.setGravity(Gravity.CENTER)
}
val params = window.attributes
params.width = WindowManager.LayoutParams.MATCH_PARENT
params.height = WindowManager.LayoutParams.WRAP_CONTENT
window.attributes = params
}
}
enum class LocationView {
CENTER, TOP, BOTTOM
}
}
Java 和 Kotlin 的方法
Java
public class MainActivity extends AppCompatActivity {
private BoxDialog boxDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
Button dialogButton = findViewById(R.id.dialog);
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
View inflate = LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog_view2, null, false);
//在这里可以给布局中的按钮加事件,boxDialog.dismiss()可以关闭dialog
boxDialog = new BoxDialog(MainActivity.this, inflate, BoxDialog.LocationView.CENTER);
boxDialog.setCancelable(false);//是否可以点击DialogView外关闭Dialog
boxDialog.setCanceledOnTouchOutside(false);//是否可以按返回按钮关闭Dialog
boxDialog.show();
}
});
}
}
Kotlin
class MainActivity : AppCompatActivity() {
private var boxDialog: BoxDialog? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initView()
}
private fun initView() {
最后
针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
-
Android前沿技术大纲
-
全套体系化高级架构视频
Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、混合式开发(ReactNative+Weex)全方面的Android进阶实践技术,群内还有技术大牛一起讨论交流解决问题。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
629)]
Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、混合式开发(ReactNative+Weex)全方面的Android进阶实践技术,群内还有技术大牛一起讨论交流解决问题。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!