Android那些冷门(邪门)的小知识
看代码:
View v = LayoutInflater.from(this).inflate(R.layout.popup_layout,null);
他的名字:利用布局逆向生成视图。
出现位置:在new 一个popupWindow之前。
数组适配器ArrayAdapter
引入:
他的名字:适配器Adapter
用途:创造规则
再详细一点:对数据显示样式的规则制订器
对于数组适配器来说,根布局必须只能有一个TextView
ArrayAdapter adapter = new ArrayAdapter(this,R.layout.xxxx,items)
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle("请选择")
.setAdapter(adapter,new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog,int 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
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.prase("http://www.baidu.com"));
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()方法
|