本文主要是介绍《第一行代码-Android》学习笔记(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.match_parent和fill_parent意义一样,但是官方推荐使用前者,表示布局大小和父布局相同。
2.invisible和gone的异同:
a) 相同点:都保证了空间不可见
b) 不同点:invisible只是不可见,但是控件依旧占据着位置
gone控件不但不可见,也不再占据位置
3.AlertDialog和ProgressDialog:
他们中都有一个setCancelable()方法,表示能否通过返回键取消掉。
4.四大布局:
a) LinearLayout:
i. android:gravity:用于指定文字在控件中的对齐方式
ii. android:layout_gravity:用于指定控件在布局中的对齐方式
b) RelativeLayout:
c) FramLayout:这种布局方式没有任何的定位方式
d) TableLayout:有一个合并单格的属性,这个属性主要用于当某一行个数不等同其他时候。
i. android:layout_span="2":用于设置合并单元格
ii. android:stretchColumns="1":用于设置拉伸第2列
e) AbsoluteLayout:官网已经不推荐使用。可以不用再学习。
5.创建自定义控件:(例子:自定义标题)
a) 什么时候要创建:如果一个控件组合要在很多活动中使用,这个时候可以将其写成一个自定义控件。
b) 自定义控件要实现构造方法。在里面动态加载布局。
6.ListView学习总结:
a) ListView优化:为了防止每次getView都会进行findViewById操作,可以借助一个ViewHolder进行操作。
ViewHolder holder = null;
if (convertView == null)
{
holder = new ViewHolder();
convertView = LayoutInflater.from(getContext()).inflate(resource, null);
holder.img = (ImageView)convertView.findViewById(R.id.img);
holder.textView = (TextView)convertView.findViewById(R.id.contentTv);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder)convertView.getTag();
}
这样就可以对控件的实例进行缓存。可以提高listview运行速度;
这篇关于《第一行代码-Android》学习笔记(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!