Android的Notepad记事本案例实战

一、搭建记事本布局

效果图:

Android的Notepad记事本案例实战_第1张图片
Android的Notepad记事本案例实战_第2张图片

(activity_notepad.xml)

1.去掉标题栏:在AndroidManifest.xml中的theme改成NoActionBar。

2.记事本主页布局:





3.细节解释:

(1)相对布局中:

背景色:#fefefe(网页安全色:偏白黄色)

android:background="#fefefe"

(2)ListView:

android:cacheColorHint="#00000000"		<--避免滚动时,重绘View时出现其他颜色-->
android:divider="#E4E4E4"				<--分割线:"#E4E4E4"颜色为极亮度的灰色阴影-->
android:dividerHeight="1dp"				<--设置分割线高度-->
android:fadingEdge="none"				<--滚动效果:取消滚动时的阴影层次-->
android:listSelector="#00000000"		<--避免默认会显示选中的item为橙黄底色-->
android:scrollbars="none"				<--滚动条:隐藏-->
android:layout_below="@+id/note_name"	<--在~位置之下:在@+id/note_name控件之下-->

3.ImageView

android:layout_marginBottom="30dp"		<--距离底部:30dp-->
android:layout_alignParentBottom="true" <--悬浮,并一直处于屏幕底端-->
android:layout_centerHorizontal="true"	<--位置:居中-->

二、搭建记事本主界面的Item布局

(notepad_item_layout.xml)

1.Item布局




2.细节解释:

android:maxLines="2"			<--最大显示行数:2行(无论有多少行,只显示2行)-->
android:ellipsize="end"			<--压缩显示:若内容过多,省略号在结尾-->
android:lineSpacingExtra="3dp"	<--行间距-->
android:paddingTop="10dp"		<--该控件内部度内容距离该控件上边缘的边距-->

三、封装记录信息实体类

(NotepadBean.java)

1.getset方法:

Id(记录的id)、notepadCountent(记录的内容)、noteoadTime(保存记录的时间)

四、编写记事本界面列表适配器

(NotepadAdapter.java)

1.继承BaseAdapter

(1)XML布局对象:LayoutInflater layoutInflater

(2)实体信息对象:List list

2.构造方法

3.四个重写

(1)获取Item总数:getCount()

(2)对应Item对象:getItem(int position)

(3)Item对象的Id:getItemId(int position)

(4)对应的Item视图:getView(int position, View convertView, ViewGroup parent)

  • 在getView中:声明一个ViewHolder viewHolder类对象

    • 在getView外:实现ViewHolder类:声明实际item布局空间
      • 在实现ViewHolder类中:实现findViewById()方法
  • 套路:关联viewholder与convertView

    if (convertView == null) {
         
                convertView = layoutInflater.inflate(R.layout.notepad_item_layout, null);//实例化一个对象(布局加载器)
                viewHolder = new ViewHolder(convertView);//实例化类对象<

你可能感兴趣的:(AndroidStudio,java,android,安卓,android,studio,app)