(个人向)商品浏览界面个人日记
编辑软件:android studio
第一部分 activity_main.xml
一、LinearLayout为线性布局
android:orientation="vertical"; //垂直
android:orientation="horizontal"; //水平
二、gravity属性是对控件自身内容对自己的限定。例:一个botton上的text,用gravity可以设置该text相对于view的靠左靠右的位置。简单说就是view里的内容在这个view中的位置。
android:gravity="center" //居中
android:gravity="left" //向左
android:gravity="right" //向右
android:gravity="top" //顶部
android:gravity="bottom" //底部
三、ListView,用于展示大量数据的控件,且不会因为展示数据太多而产生内存溢出,因为相关缓存机制保证内存的合理使用。
四、
match_parent,让当前控件大小与父布局大小一样(以父布局为主)
wrap_parent,让当前控件大小刚好包含里面的内容(以内容为主)
第二部分 list_item.xml
一、RelativeLayout,相对布局,通过相对定位的方式让控件出现在布局内的任何位置。
二、android:padding,内边距,就是view(内容)与边界的距离,单位为dp。
三、ImageView控件,用于展示图片。
四、
android:layout_centerInParent="true" //控件位于父控件的中心位置
android:layout_centerHorizontal="true" //控件位于水平方向的中心位置
android:layout_centerVertical="true" //控件位于垂直方向的中心位置
五、
android:layout_marginLeft,距离左边框的距离。
android:layout_marginRight,距离右边框的距离。
android:layout_marginTop,距离上边框的距离。
android:layout_marginRight,距离下边框的距离。
六、
android:layout_toRightOf="@id/id值",某元素的右侧
android:layout_toLeftOf="@id/id值",某元素的左侧
android:layout_below="@id/id值",某元素的下方
android:layout_above="@id/id值",某元素的上方
第三部分 MainActivity.java
一、R.drawable.图片名,获取图片资源
二、ListView listView = findViewById(R.id.lv),初始化控件
三、class 类名 extends BaseAdapter,建数据适配器。
数据适配器负责建立数据源与ListView的关系。
实现BaseAdapter的四个方法:
public int getCount(); 适配器中数据集的数据个数
public object getItem(int position); 获取数据集中与索引对应的数据项
public long getItemId(int position); 获取指定行对应的数据项
public View getView(int position, View convertView, ViewGroup parent); 获取每一行Item的显示内容
四、View.inflate() 可将布局转换成view对象。
例:View view = View.inflate(context:MainActivity.this, R.layout.list_item, root: null) 上下文信息,布局文件id,ViewGroup
五、view.findViewById(R.id. …)初始化view
六、
.setText()将相关文本信息嵌入view内
.setImageResource()将相关图片信息嵌入view内
七、设置ListView的数据适配器:
数据适配器类名A adapter = new A()
listView.setAdapter(adapter)
八、优化:
新建一个类定义控件,初始化,在将该类添加到convertView中。
九、convertView表示缓存的item对象,也就是view对象(手指滑动),用convertView.setTag()将holder对象添加到convertView中
十、View中的setTag()表示给view添加一个格外的数据,以后可用getTag()将该数据获取出来。