Android开发工程师文集-Android知识点讲解
前言
大家好,给大家带来Android开发工程师文集-Android知识点讲解的概述,希望你们喜欢
WebView讲解
一般通过Intent调用系统的浏览器:
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
什么是WebView,其实单词的字面理解就可以了,可以知道Android中提供了这个元素来显示页面。
接下来,需要你创建布局文件,关于WebView的即可:
<WebView
android:id="@+id/WebView"
android:layout_width="match_parent"
android:layout_height="match_parent"
</WebView>
如果用到WebView,就要用到loadUrl()的方法来进行调用,加载我们所需的页面。这个方法可以调用web资源,也可以调用本地我们直接写好的资源。
1. webView.loadUrl("http://janshu.com");
2. webView.loadUrl("本地资源");
3. webView.requestFocus();
这个是什么意思呢,表示直接打开
webView.setWebViewClient(new WebViewClient());
public boolean shouldOverrideUrlLoading(WebView view,String url){
view.loadUrl(url);
return true;
}
使用Javascript打开
WebView webView = findViewById(R.id.webview);
WebSttings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
了解一下onKeyDown()的方法,进行退出程序:
public boolean onKeyDown(int keyCode, keyEvent event){
if(keyCode==KeyEvent.KEYCODE_BACK){
if(webView.canGoBack()){
webView.goBack();
return true;
}
else
{
System.exit(0);//退出程序
}
}
return super.onKeyDown(keyCode, event);
}
用下面的来显示加载过程:
setWebChromeClient()->new WebChromeClient()
ProgressDialog
开启进度条的显示:
private void openDialog(int newProgress){
if(dialog==null){
dialog=new ProgressDialog(MainActivity.this);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTL);
dialog.setProgress(newProgress);
dialog.show();
}
else{
dialog.setProgress(newProgress);
}
关闭进度条:
private void closeDialog(){
if(dialog!=null&&dialog.isShowing()){
dialog.dismiss();
dialog=null;
}
}
Fragment
FragmentManager fragmentManager = getFragmentManager();
FragementTransaction beginTransaction = fragmentManager.beginTransaction();
动态是最常用的,可以通过add(),remove(),replace(),commit(),addToBackStack()的方法处理Fragment
Fragment的生命周期
它的生命周期会受到Activity的影响
启动Fragment:
onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume()
关掉:
onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume()
onPause()->onStop()
重启:
onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume()
onPause()->onStop()
onStart()->onResume()
启动第二个Fragment:
onPause()->onStop()->onDestroyView()->onDestroy()->onDetach()->onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume()
顶部导航
ViewPager
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"/>
如果觉得不错,那就点个赞吧!❤️
总结
- Android开发工程师文集-Android知识点讲解-记录美好生活,如果您还有更好地理解,欢迎沟通
- 定位:分享
Android&Java知识点,有兴趣可以继续关注
Android开发工程师文集-Android知识点讲解的更多相关文章
- Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解
前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...
- Android开发工程师文集-相关控件的讲解,五大布局
前言 大家好,给大家带来Android开发工程师文集-相关控件的讲解,五大布局的概述,希望你们喜欢 TextView控件 TextView控件有哪些属性: android:id->控件的id a ...
- Android开发工程师文集-layout_weight讲解
前言 大家好,给大家带来Android开发工程师文集-layout_weight讲解的概述,希望你们喜欢 Layout_weight的相关代码展示 <TextView android:layou ...
- Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式
Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...
- Android开发工程师文集-1 小时学会Widget小组件开发
前言 大家好,给大家带来Android开发工程师文集-1 小时学会Widget小组件开发的概述,希望你们喜欢 学会用Widget (小组件) Widget小组件很方便,很快捷,可以个性化,自己定制,相 ...
- Android开发工程师文集-1 小时学会各种Drawable
前言 大家好,给大家带来Android开发工程师文集-1 小时学会各种Drawable的概述,希望你们喜欢 Drawable介绍 Drawable为抽象类,drawable与view有区别的地方,主要 ...
- Android开发工程师文集-1 小时学会SQLite
前言 大家好,给大家带来Android开发工程师文集-1 小时学会SQLite的概述,希望你们喜欢 内容 什么是Sqlite: 效率高,开源,小型,程序驱动,支持事务操作,无数据类型,可嵌入的关系型数 ...
- Android开发工程师文集-提示框,菜单,数据存储,组件篇
提示框,菜单,数据存储,组件篇 Toast Toast.makeText(context, text, 时间).show(); setDuration();//设置时间 setGravity();// ...
- 帮朋友急招PHP、Android开发工程师 西安 工资8k-12k
PHP高级工程师岗位要求: 1. 有两年以上PHP开发经验, 2. 精通PHP+MySQL程序设计及开发,拥有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,代码冗余率低. 3. 熟悉面向对象的软件 ...
随机推荐
- python入门学习1
实学习每一种语言,都可以找到很快乐的学习方法.有兴趣,有乐趣,才会一直想学.知道print().input().if/else就可以做一个简陋的游戏了. print() # 打印函数,将信息打印出来 ...
- phpstorm 不能自动打开上次的历史文件
问题产生的原因:可能是电脑非正常关机,导致phpstrom 无法正常关闭. 一开始我以为是配置上那里出现了问题,所以直接就把配置删除了,然后生成了默认配置.发现还是无法解决问题.然后一个个配置查阅过去 ...
- vivo手机,自带世界之窗浏览器,sessionStorage设置的值为null
最近遇到一个小问题 用vivo手机自带浏览器,每次跳转到一个新页面都是重新打开一个webpage,导致sessionStorage设置的值都没了. 所以开发移动端网页时,谨慎使用sessionStor ...
- python 模块定义导入
1.定义模块:用来从逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能),本质就是:.py结尾的python文件(文件名:test.py,对应的模块名:test)包:本质就是一个目录(必须 ...
- [剑指Offer]36-二叉搜索树与双向链表
链接 https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&tqId=11179&tPa ...
- Java 基础之--注解Annotation详解
自定义注解入门: public @interface Annotation01 { //set default value ""; String value() default & ...
- abp xunit Can not register IHostingEnvironment. It should be a non-abstract class. If not, it should be registered before.”
在测试项目的ServiceCollectionRegistrar类提前注册.
- ELK+SpringBoot+Logback离线安装及配置
ELK+SpringBoot+Logback 离线安装及配置 版本 v1.0 编写时间 2018/6/11 编写人 xxx 目录 一. ELK介绍2 二. 安装环境2 三. Elasticse ...
- kubernetes namespace Terminating
1.kubectl get namespace annoying-namespace-to-delete -o json > tmp.jsonthen edit tmp.json and rem ...
- Linux环境下java开发环境搭建一 JDK搭建
第一步:下载jdk压缩文件 第二步:上传到家目录下的soft目录下,可以采用winscp,此处下载的是.tar.gz文件 第三步:解压压缩文件,并在/usr/local目录下创建一个jdk7的目录,并 ...