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()方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值