Android HorizontalScrollView 水平滑动 listview 上动态添加图片



最近遇到了个 在listview展示广告的需要动态添加图片

如图:




使用了 horizontalScrollView 在listview上进行添加


java代码:

package com.baozi.bzhorizontalscrollview;import java.util.ArrayList;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.text.TextUtils;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;public class MainActivity extends Activity {private ListView lv;private View headerView;private LinearLayout header_ll;ArrayList<String> arrayList = new ArrayList<String>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);lv = (ListView) findViewById(R.id.lv);headerView = LayoutInflater.from(this).inflate(R.layout.item_home_header, null);header_ll = (LinearLayout) headerView.findViewById(R.id.header_ll);for (int i = 0; i < 10; i++) {View coupon_home_ad_item = LayoutInflater.from(this).inflate(R.layout.home_item, null);ImageView icon = (ImageView) coupon_home_ad_item.findViewById(R.id.coupon_ad_iv);// 拿个这行的icon 就可以设置图片final String href = "http://www.blog.csdn.net/aaawqqq";if (!TextUtils.isEmpty(href)) {coupon_home_ad_item.setOnClickListener(new OnClickListener() {// 每个item的点击事件加在这里@Overridepublic void onClick(View v) {Uri uri = Uri.parse(href);Intent intent = new Intent(Intent.ACTION_VIEW,uri);startActivity(intent);}});}header_ll.addView(coupon_home_ad_item);}lv.addHeaderView(headerView);// 通过listview的addHeaderView方法 将header添加到// listview里面// listview的测试数据for (int i = 0; i < 20; i++) {arrayList.add(i + "  -------------     "+ System.currentTimeMillis());}ArrayAdapter adapter = new ArrayAdapter(this, R.layout.item,R.id.textView1, arrayList);lv.setAdapter(adapter);}}


xml代码:


activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#f4f4f4"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.baozi.bzhorizontalscrollview.MainActivity" >    <ListView        android:id="@+id/lv"        android:layout_width="fill_parent"        android:layout_height="fill_parent" >    </ListView></RelativeLayout>

item_home_header.xml

<?xml version="1.0" encoding="UTF-8"?><HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:ptr="http://schemas.android.com/apk/res-auto"    android:id="@+id/coupon_home_ad_hv"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical"    android:scrollbars="none" >    <LinearLayout        android:id="@+id/header_ll"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginBottom="15dp"        android:background="#dddddd"        android:orientation="horizontal" >    </LinearLayout></HorizontalScrollView>

home_item.xml

<?xml version="1.0" encoding="UTF-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:ptr="http://schemas.android.com/apk/res-auto"    android:id="@+id/coupon_home_ad_ll"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_marginBottom="10dp"    android:layout_marginLeft="5dp"    android:layout_marginRight="5dp"    android:layout_marginTop="10dp"    android:gravity="center"    android:orientation="horizontal" >    <ImageView        android:id="@+id/coupon_ad_iv"        android:layout_width="120dp"        android:layout_height="90dp"        android:layout_margin="4dp"        android:background="@drawable/ic_launcher"        android:scaleType="centerCrop" />    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:text="点我"        android:textColor="#000000"        android:textSize="20sp" />    <View        android:layout_width="1dp"        android:layout_height="90dp"        android:background="#000000" /></FrameLayout>


步骤:

首先加载 header

headerView = LayoutInflater.from(this).inflate(R.layout.item_home_header,null);

header_ll = (LinearLayout)headerView.findViewById(R.id.header_ll);


获取header里面的 LinearLayout


将服务器获取的imageview 通过for循环 add 到header上的linearlayout

添加点击事件等


demo下载地址 : http://download.csdn.net/detail/aaawqqq/8393831



转载请注明http://blog.csdn.net/aaawqqq/article/details/25082417


不足之处请大家指导 谢谢


更多相关文章

  1. Android打开通讯录并获取数据
  2. 自定义类似于listView中Item背景
  3. Android提取系统所有的缩略图
  4. android中无限循环滑动的gallery实例
  5. 2011.09.26(3)——— android sample之Notepad(带下划线的TestView
  6. 【Android】设备标识
  7. Android常用方法——获取系统信息
  8. android xml
  9. android获取手机型号和系统版本号

随机推荐

  1. vue修改滚动条样式的方法
  2. docker安装portainer详细步骤
  3. 为网站代码块pre标签增加一个复制代码按
  4. jsp Response对象页面重定向、时间的动态
  5. 前端学习心得
  6. jsp request.getParameter() 和request.g
  7. jsp response.sendRedirect()用法详解
  8. jsp使用sessionScope获取session案例详解
  9. JSP实现文件上传功能
  10. PHP中变量与函数的声明及实例演示