IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android那些冷门(邪门)的小知识 ~ -> 正文阅读

[移动开发]Android那些冷门(邪门)的小知识 ~

Android那些冷门(邪门)的小知识

看代码:

View v = LayoutInflater.from(this).inflate(R.layout.popup_layout,null);

他的名字:利用布局逆向生成视图。

出现位置:在new 一个popupWindow之前。


数组适配器ArrayAdapter

引入:

他的名字:适配器Adapter

用途:创造规则

再详细一点:对数据显示样式的规则制订器


对于数组适配器来说,根布局必须只能有一个TextView

//参数一:环境
//参数二:布局资源索引,指的是每一项数据所呈现的样式
//参数三:数据源
//第二种构造方法:
//参数三:int textViewId ,这样的话,就避免了数组适配器跟布局必须是一个textView
//参数四:数据源
ArrayAdapter adapter = new ArrayAdapter(thisR.layout.xxxx,items) //items是一个数组
//以用dialog显示ArrayAdapter
AlertDialog.Builder builder = new AlertDialog.Builder(this)
    .setTitle("请选择")
    .setAdapter(adapter,new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog,int which){  //which是索引
            Toast.makeText(MainActivity.this,items[which],Toast.LENGTH_SHORT);
            dialog.dismiss();
        }
    }) //这里可以加监听器

打开对话框对Activity生命周期的影响

最简单的对话框:AlertDialog、

AlertDialog.Builder builder = new AlertDialog.Builder(this)

结论一:普通对话框不会影响生命周期


所以,为了让他影响生命周期,我们把一个activity做成对话框模样!

在AndroidMainfest文件中配置activity标签

添加属性:android:theme="@style/Theme.AppCompat.Dialog"

如果这样,就可以反复触发生命周期的onPause和onResume。


Activity隐式启动

相比于显示启动的优势:

传参方式灵活,无论打开哪个都不会报错

使用场景:启动系统Activity—系统activty:自带的activity(比如浏览器,地图等)


隐式启动打开系统Activity

//参数一:action:是Activity的别名
//参数二:Uri对象,打开路径
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.prase("http://www.baidu.com")); //传一个字符串,叫action
//因为写的是http协议,所以打开的就是浏览器
//如果打开电话tel:xxxxxxxxxx
startActivity(intent);

隐式启动打开普通Activity

Intent intent = new Intent("这里在配置文件里写别名");
startActivity(intent);
<intent-filter>  //意图过滤器
        <action android:name="这里在配置文件里写别名" />
        <category android:name="android.intent.category.DEFAULT" />  //分类--默认
</intent-filter>

Fragment梅开二度

Fragment设计思想

为平板和大屏手机提供服务

优势:解决了不同分辨率之间,终端适配问题。

Fragment是Activity的组成元素

静态加载Fragment

在xml文件中写一个fragment标签

在标签里加属性:android:name=“fragment的java类路径.java类”;

然后在他的java类里面onCreateView创造布局,就进去了

基础的fragment类,只需要留一个onCreateView()方法

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:44:27  更:2021-11-19 17:46:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:33:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码