用宝塔给远程网站做备份,有效的引流推广方法,阳江招聘网丰多采,html5网站正在建设中由于移动设备物理显示空间一般有限#xff0c;不可能一次性的把所有要显示的内容都显示在屏幕上。所以各大平台一般会提供一些可滚动的视图来向用户展示数据。Android平台框架中为我们提供了诸如ListView、GirdView、ScrollView等滚动视图控件#xff0c;这几个视图控件也是我… 由于移动设备物理显示空间一般有限不可能一次性的把所有要显示的内容都显示在屏幕上。所以各大平台一般会提供一些可滚动的视图来向用户展示数据。Android平台框架中为我们提供了诸如ListView、GirdView、ScrollView等滚动视图控件这几个视图控件也是我们平常使用最多的。下面介绍一下HorizontalScrollView的使用和需要注意的点 HorizontalScrollView是一个FrameLayout 这意味着你只能在它下面放置一个子控件这个子控件可以包含很多数据内容。有可能这个子控件本身就是一个布局控件可以包含非常多的其他用来展示数据的控件。这个布局控件一般使用的是一个水平布局的LinearLayout 。TextView也是一个可滚动的视图控件所以一般不需要HorizontalScrollView 下面介绍一个HorizontalScrollView中包含许多图片并且可以滚动浏览的示例 Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout. activity_main); mLinearLayout (LinearLayout) findViewById(R.id.mygallery); File externalDir Environment. getExternalStorageDirectory(); String photosPath externalDir.getAbsolutePath() /test/; File photosFile new File(photosPath); for (File photoFile : photosFile.listFiles()) { mLinearLayout.addView(getImageView(photoFile.getAbsolutePath())); } } private View getImageView(String absolutePath) { Bitmap bitmap decodeBitmapFromFile(absolutePath, 200, 200); LinearLayout layout new LinearLayout(getApplicationContext()); layout.setLayoutParams( new LayoutParams(250, 250)); layout.setGravity(Gravity. CENTER); ImageView imageView new ImageView(this); imageView.setLayoutParams( new LayoutParams(200,200)); imageView.setScaleType(ImageView.ScaleType. CENTER_CROP); imageView.setImageBitmap(bitmap); layout.addView(imageView); return layout; } private Bitmap decodeBitmapFromFile(String absolutePath, int reqWidth, int reqHeight) { Bitmap bm null; // First decode with inJustDecodeBoundstrue to check dimensions final BitmapFactory.Options options new BitmapFactory.Options(); options. inJustDecodeBounds true ; BitmapFactory. decodeFile(absolutePath, options); // Calculate inSampleSize options. inSampleSize calculateInSampleSize(options, reqWidth, reqHeight); // Decode bitmap with inSampleSize set options. inJustDecodeBounds false ; bm BitmapFactory. decodeFile(absolutePath, options); return bm; } private int calculateInSampleSize(Options options, int reqWidth, int reqHeight) { // Raw height and width of image final int height options.outHeight; final int width options.outWidth; int inSampleSize 1; if (height reqHeight || width reqWidth) { if (width height) { inSampleSize Math. round((float)height / ( float)reqHeight); } else { inSampleSize Math. round((float)width / ( float)reqWidth); } } return inSampleSize; } 要显示的图片放在外置SDCard中test目录下上面的示例程序只是显示了一张张大图片的缩略版本对这方面不懂的可以参看 HorizontalScrollView还可以设置滚动到一个指定的位置(x0)它的子控件也会跟随着滚动。 new Handler().postDelayed(new Runnable() { Override public void run() { // 水平直接滚动800px如果想效果更平滑可以使用smoothScrollTo(int x, int y) hsv.scrollTo(800, 0); } }, 2000); 效果图 以上就是本文的全部内容希望对大家学习Android软件编程有所帮助。