
仿照个人qq主页面
原图效果图首先删除原来的工具栏
在values文件夹下的styles文件中将style标签中的parent改为NoActionbar
parent="theme.AppCompat.light.NoActionbar"在activity_main.xml中创建一个Toolbar作为自己创建的工具栏,搜索框是抠图作为一个imagebutton(原手机qq这个搜索框个人认为就是一个button)<androIDx.appcompat.Widget.Toolbar androID:ID="@+ID/toolbar" androID:layout_wIDth="match_parent" androID:layout_height="?attr/actionbarSize" androID:background="@color/blue" app:title="看客" app:TitleTextcolor="@color/write" androID:paddingStart="15dp" androID:paddingleft="15dp" app:navigationIcon="@drawable/yonc" tools:ignore="RtlSymmetry"/> <Imagebutton androID:ID="@+ID/ib_search" androID:layout_wIDth="408sp" androID:layout_height="55sp" androID:src="@drawable/search_dark" />ListVIEw部分在xml布局文件中创建一个ListVIEwandroID:divIDer="@color/transparent"可以设置每一个item的下划线为透明色即无下划线<ListVIEw androID:ID="@+ID/lv" androID:layout_wIDth="match_parent" androID:layout_height="match_parent"/>为ListVIEw的每一个item创建一个布局这里仿照qq主页面的item创建一个布局(即一个个头像加一个昵称)
其中的宽高可以根据图片的大小以及效果微调
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:orIEntation="horizontal" androID:layout_wIDth="match_parent" androID:layout_height="55sp" tools:ignore="UseCompoundDrawables"> <ImageVIEw androID:layout_gravity="center_vertical" androID:ID="@+ID/icon_group" androID:paddingStart="15dp" androID:paddingleft="15dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" tools:ignore="RtlSymmetry"/> <TextVIEw androID:paddingStart="15dp" androID:paddingleft="15dp" androID:ID="@+ID/name_group" androID:layout_wIDth="wrap_content" androID:textSize="20sp" androID:layout_height="wrap_content" tools:ignore="RtlSymmetry"/></linearLayout>为ListVIEw获取数据我这里是创建了一个javaBean名为FrIEndsBean,有name和icon属性,get和set方法没有贴出来
public class FrIEndsBean { private String name; private int icon; }并且手动写入上述数据并且将相应的对象写入frIEnds集合中。
创建一个适配器类继承BaseAdapter(详看注释)
package com.example.myListvIEw;import androID.content.Context;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.Widget.BaseAdapter;import androID.Widget.ImageVIEw;import androID.Widget.TextVIEw;import java.util.List;public class MyAdapter extends BaseAdapter { private List<FrIEndsBean> frIEnds; private Context context; //构造方法 public MyAdapter(List<FrIEndsBean> frIEnds, Context context) { this.frIEnds = frIEnds; this.context = context; } //item的数量,定义为集合的长度 @OverrIDe public int getCount() { return frIEnds.size(); } @OverrIDe public Object getItem(int position) { return null; } @OverrIDe public long getItemID(int position) { return position; } //将每一个item条目进行设置并且返回一个VIEw @OverrIDe public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) { //拿到一个布局 if (convertVIEw==null){ convertVIEw = LayoutInflater.from(context) .inflate(R.layout.List_item,parent,false); } //通过convertVIEw对象拿到创建的布局中的子控件并且为之写入数据 TextVIEw textVIEw = convertVIEw.findVIEwByID(R.ID.name_group); textVIEw.setText(frIEnds.get(position).getname()); ImageVIEw imageVIEw = convertVIEw.findVIEwByID(R.ID.icon_group); imageVIEw.setimageResource(frIEnds.get(position).getIcon()); return convertVIEw; }}在MainActivity中调用ListVIEw ListVIEw = (ListVIEw)findVIEwByID(R.ID.lv);ListVIEw.setAdapter(new MyAdapter(frIEnds,this)); 总结 以上是内存溢出为你收集整理的Android ListView仿手机qq主页面全部内容,希望文章能够帮你解决Android ListView仿手机qq主页面所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)