15、ListView Item设置

        当然想要ListView显示自定义的布局,显示文字、图片,如下:

布局什么的都不是很难的,多试试就好。其实是不想多说关于布局什么的。修改item_list.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 	xmlns:android="http://schemas.android.com/apk/res/android"
    	android:layout_width="match_parent"
    	android:layout_height="wrap_content"
   	android:paddingLeft="@dimen/padding_s"
    	android:paddingRight="@dimen/padding_s"
    	android:paddingTop="0dp"
    	android:paddingBottom="@dimen/padding_s"
    	android:orientation="vertical" >
    	<RelativeLayout
	    	android:layout_width="match_parent"
	    	android:layout_height="wrap_content"
	    	android:paddingLeft="@dimen/padding_n"
	    	android:paddingRight="@dimen/padding_n"
	    	android:paddingTop="@dimen/padding_ll"
	    	android:paddingBottom="@dimen/padding_s"
	    	android:background="@color/white_dark" >
        	<ImageView
            	android:id="@+id/iv_icon"
            	android:layout_width="@dimen/header_h_2"
	    		android:layout_height="@dimen/header_h_2"
	    		android:layout_alignParentLeft="true"
	    		android:layout_alignParentTop="true"
	    		android:src="@drawable/ic_launcher" />
        	<TextView
            	android:id="@+id/tv_name"
            	android:layout_width="wrap_content"
	    		android:layout_height="@dimen/header_h_2"
	    		android:layout_alignParentTop="true"
	    		android:layout_toRightOf="@+id/iv_icon"
	    		android:layout_marginLeft="@dimen/margin_ss"
	    		android:gravity="center_vertical"
	    		android:textSize="@dimen/text_level2"
	    		android:textColor="@color/text_level2"
	    		android:text="用户名例子"
	    		android:singleLine="true"/>
        	<TextView
            	android:id="@+id/tv_time"
            	android:layout_width="wrap_content"
	    		android:layout_height="@dimen/header_h_2"
	    		android:layout_alignParentTop="true"
	    		android:layout_alignParentRight="true"
	    		android:gravity="center_vertical"
	    		android:textSize="@dimen/text_level3"
	    		android:textColor="@color/text_level3"
	    		android:text="2016-11-12"
	    		android:singleLine="true" />
        	<ImageView
            	android:id="@+id/iv_time"
            	android:layout_width="@dimen/header_h_2"
	    		android:layout_height="@dimen/header_h_2"
	    		android:paddingLeft="@dimen/padding_ss"
	    		android:paddingRight="@dimen/padding_ss"
	    		android:layout_marginRight="0dp"
	    		android:layout_toLeftOf="@+id/tv_time"
	    		android:layout_alignParentTop="true"
	    		android:src="@drawable/time"
	    		android:tint="@color/text_level3" /> 
        	<TextView
            	android:id="@+id/tv_title"
            	android:layout_width="match_parent"
	    		android:layout_height="wrap_content"
	    		android:layout_below="@+id/iv_icon"
	    		android:layout_marginTop="@dimen/margin_ll"
	    		android:layout_marginBottom="@dimen/margin_n"
	    		android:textSize="@dimen/text_level1"
	    		android:textColor="@color/text_level1"
	    		android:text="标题例子,大小如何" /> 
        	<TextView
            	android:id="@+id/tv_data"
            	android:layout_width="match_parent"
	    		android:layout_height="wrap_content"
	    		android:layout_below="@+id/tv_title"
	    		android:layout_marginBottom="@dimen/margin_s"
	    		android:lineSpacingMultiplier="1.14"
	    		android:textSize="@dimen/text_level2"
	    		android:textColor="@color/text_level2"
	    		android:text="内容例子,大小如何。内容例子,大小如何。内容例子,大小如何。内容例子,大小如何。内容例子,大小如何。内容例子,大小如何"
	    		android:visibility="visible" />
	</RelativeLayout>
	<RelativeLayout 
        	android:id="@+id/rl_data"
        	android:layout_width="match_parent"
        	android:layout_height="100dp"
        	android:visibility="visible"
        	android:background="@color/white_dark"> 
    	</RelativeLayout>
	<LinearLayout 
        	android:layout_width="match_parent"
        	android:layout_height="wrap_content"
        	android:padding="@dimen/padding_n"
        	android:background="@color/white_dark">
		<View
	        	android:layout_width="match_parent"
	        	android:layout_height="1dp"
	        	android:background="@color/gray_light"/>
    	</LinearLayout>
    	<TextView
        	android:id="@+id/tv_read"
        	android:layout_width="match_parent"
    		android:layout_height="wrap_content"
    		android:paddingTop="@dimen/padding_s"
    		android:paddingLeft="@dimen/padding_n"
    		android:paddingRight="@dimen/padding_n"
    		android:paddingBottom="@dimen/padding_ll"
    		android:textSize="@dimen/text_level2"
    		android:textColor="@color/text_level3"
    		android:text="2K阅读 • 54回复 • 原创"
    		android:singleLine="true"
    		android:background="@color/white_dark" />
</LinearLayout>

        最上左侧用户头像、用户名,下方标题,下方文本内容,再下方一个布局用于代码动态添加一些图片什么的,再下方是一个浏览统计。
        修改ListAdapter

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
	// TODO Auto-generated method stub
	final Holder holder;
	
	if(convertView==null){
		convertView=activity.getLayoutInflater().inflate(
R.layout.item_list, parent, false);
	
		holder=new Holder();
		convertView.setTag(holder);
	}
	else{
		holder=(Holder)convertView.getTag();
	}
	holder.iv_icon=(ImageView)convertView.findViewById(R.id.iv_icon);
	holder.tv_name=(TextView)convertView.findViewById(R.id.tv_name);
			holder.tv_time=(TextView)convertView.findViewById(R.id.tv_time);
	holder.tv_title=(TextView)convertView.findViewById(R.id.tv_title);
	holder.tv_data=(TextView)convertView.findViewById(R.id.tv_data);
	holder.rl_data=(RelativeLayout)convertView.findViewById(R.id.rl_data);
	holder.tv_read=(TextView)convertView.findViewById(R.id.tv_read);
	
	return convertView;
}

private class Holder{
		
	ImageView iv_icon;
	TextView tv_name;
	TextView tv_time;
	TextView tv_title;
	TextView tv_data;
		
	RelativeLayout rl_data;
	TextView tv_lmgctrl;//先不管他
	TextView tv_gifctrl;//和她
	GifImageView giv_data;//和他
	ProgressBar pb_load;//还有它
		
	TextView tv_read;
}

        运行效果就不贴了,和上图类似,图片是代码动态加上的而已,之后会说。

一往无前——2017/05/19


猜你喜欢

转载自zdphpn.iteye.com/blog/2378422