activity_main.xml
-------------------------------------------------------------------------------------------------------------------------------
<LinearLayout 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:orientation="vertical" >
<!-- HorizontalScrollView必须包含子元素才能增加视图 -->
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/mygallery"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" />
</HorizontalScrollView>
</LinearLayout>
MainActivity.java
-------------------------------------------------------------------------------------------------------------------------------
package com.horizontalscrollView;
import java.lang.reflect.Field;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
/**
*
* 项目名称:com.horizontalscrollView
* 类 名 称:MainActivity
* 类 描 述:HorizontalScrollView代替gallery效果
* 创 建 人:fy
* 创建时间:2014-3-17 下午10:36:10
* Copyright (c) 方勇-版权所有
*/
public class MainActivity extends Activity {
private LinearLayout myGallery;
/* 图片ID集合 */
private static ArrayList<Integer> images = new ArrayList<Integer>();
/* 屏幕宽度(像素) */
private int width;
/* 屏幕高度(像素) */
private int height;
/* 屏幕密度(0.75 / 1.0 / 1.5) */
private float density;
/* 屏幕密度DPI(120 / 160 / 240) */
private int densityDpi;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setImages();
setScreens();
findViews();
initdata();
}
private void findViews() {
myGallery = (LinearLayout) findViewById(R.id.mygallery);
}
private void initdata() {
for (Integer id : images) {
myGallery.addView(insertImage(id));
}
}
// 用反射机制来获取资源中的图片ID
private void setImages() {
Field[] fields = R.drawable.class.getDeclaredFields();
for (Field field : fields) {
if (!"icon".equals(field.getName())) {
int index = 0;
try {
index = field.getInt(R.drawable.class);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
// 保存图片ID
images.add(index);
}
}
}
/* 手机屏幕属性 */
private void setScreens() {
// 定义DisplayMetrics 对象
DisplayMetrics metric = new DisplayMetrics();
// 取得窗口属性
getWindowManager().getDefaultDisplay().getMetrics(metric);
width = metric.widthPixels; // 屏幕宽度(像素)
height = metric.heightPixels; // 屏幕高度(像素)
density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
}
private View insertImage(Integer id) {
LinearLayout layout = new LinearLayout(getApplicationContext());
layout.setLayoutParams(new LayoutParams(width, height));
layout.setGravity(Gravity.CENTER);
ImageView imageView = new ImageView(getApplicationContext());
imageView.setLayoutParams(new LayoutParams(width, height));
imageView.setBackgroundResource(id);
layout.addView(imageView);
return layout;
}
}
效果
-------------------------------------------------------------------------------------------------------------------------------
<!--EndFragment-->
相关推荐
HorizontalScrollView实现Gallery,通过继承LinearLayout,往布局里添加数据,再外围套个左右滚动视频
gallery模拟horizontalscrollview效果
HorizontalScrollView用于布局的容器,可以放置让用户使用滚动条查看的视图层次结构,允许视图结构比手机的屏幕大.。HorizontalScrollView 是一种 框架布局, 这意味着你可以将包含要滚动的完整内容的子视图放入该...
Android ViewPager与仿Gallery的HorizontalScrollView互相滑动监听
horizontalscrollView 实现图片切换显示
HorizontalScrollView创建的Gallery
Android HorizontalScrollView实现横向Gallery
GridView + HorizontalScrollView组合成的横向listview
Android 自定义 HorizontalScrollView,横向滑动效果,替代Gallery
自定义HorizontalScrollView实现Gallery效果,类似于ViewPager+HorizontalScrollView效果
HorizontalScrollView仿gallery 照片墙效果,添加监听当前滑动到第几页,添加动态添加效果,代码简单有需要自己扩展.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果。的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来...
代码为博客实例代码:有问题博客留言:http://blog.csdn.net/lmj623565791/article/details/38140505
基于HorizontalScrollView的轮播控件,自动轮播,可自定义布局,使用简单
horizontalscrollview 开发的demo代码
HorizontalScrollview 指定某一个 Item PhysicalFragment
使用horizontalScrollview使图片左右滑动
1、首先让导航栏横向滑动:HorizontalScrollView中放RadioGroup,RadioGroup中放RadioButton。 2、底部为ViewPager。 3、通过设置ViewPager的页面改变来设置RadioButton的模拟点击事件。 4、监听RadioButton点击,来...