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



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

如图:

Android HorizontalScrollView 水平滑动 在listview上面动态添加图片_第1张图片



使用了 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. Android使用JPEG实现图片压缩上传
  3. Android 保存图片到相册无法显示的问题
  4. Android获取SD卡上图片和视频文件及其缩略图
  5. Android 代码修改按钮上的图片
  6. Android实现网络图片查看器和网页源码查看器
  7. Android 九宫格图片展示的实现
  8. 在Android中使用GIF图片

随机推荐

  1. Android实现监听电话呼叫状态的方法
  2. android一个LinearLayout中具有几个控件,
  3. Android(安卓)Jni 学习实战之(一)
  4. 一网打尽__Android(安卓)开源代码合集(Web
  5. 【MTK】修改开机重启概率性BUG——无法正
  6. Android(安卓)Studio 之 对话框开发(Dial
  7. Android(安卓)Bluetooth opp package 学
  8. Android在onCreate或者在Fragment的onCre
  9. Android(安卓)加载等待控件 ZFProgressHU
  10. 解决-Android: 跨应用AIDL调用时报错 jav