简体   繁体   English

如何将图像放在Horizo​​ntalScrollView中?

[英]How to put images in a HorizontalScrollView?

I would like to download images from a URL using a ImageAdapter extending a BaseAdapter and i would like to append them to a HorizontalScrollView. 我想使用扩展了BaseAdapter的ImageAdapter从URL下载图像,我想将它们附加到Horizo​​ntalScrollView。

How could i go a about doing this with this code? 我该如何用这段代码做到这一点?

public class ImageAdapter extends BaseAdapter {
            /** The parent context */
            private Context myContext;public ImageAdapter() {
                // TODO Auto-generated constructor stub
            }
            /** URL-Strings to some remote images. */

            public String[] myRemoteImages = {imageUrl,imageUrl2,imageUrl3,imageUrl4};






            /** Simple Constructor saving the 'parent' context. */
            public ImageAdapter(Context c) { this.myContext = c; }





            /** Returns the amount of images we have defined. */
            public int getCount() { 
                return 10000;
            }

            /* Use the array-Positions as unique IDs */
            public Object getItem(int position) { 
                return position; }
            public long getItemId(int position) { 
                return position; 
                }

            /** Returns a new ImageView to
            * be displayed, depending on
            * the position passed. */
            public View getView(int position, View convertView, ViewGroup parent) {
            ImageView i = new ImageView(this.myContext);



            try {

                            URL aURL = new URL(myRemoteImages[position]);
                            URLConnection conn = aURL.openConnection();
                            conn.setUseCaches(true);
                            conn.connect();
                            InputStream is = conn.getInputStream();
                            /* Buffered is always good for a performance plus. */
                            BufferedInputStream bis = new BufferedInputStream(is);
                            /* Decode url-data to a bitmap. */
                            Bitmap bm = BitmapFactory.decodeStream(bis);
                            bis.close();
                            is.close();
                            Log.v(imageUrl, "Retrieving image");

                            /* Apply the Bitmap to the ImageView that will be returned. */
                            i.setImageBitmap(bm);

                    } catch (IOException e) {



                            Log.e("DEBUGTAG", "Remtoe Image Exception", e);





            /* Image should be scaled as width/height are set. */
            i.setScaleType(ImageView.ScaleType.FIT_CENTER);
            /* Set the Width/Height of the ImageView. */
            if(Build.VERSION.SDK_INT >= 11){
                i.setLayoutParams(new Gallery.LayoutParams(450, 300));
            return i;
            }
            else{
                i.setLayoutParams(new Gallery.LayoutParams(125, 125));
                return i;
            }
                    }
            return i;
            }




            /** Returns the size (0.0f to 1.0f) of the views
            * depending on the 'offset' to the center. */
            public float getScale(boolean focused, int offset) {
            /* Formula: 1 / (2 ^ offset) */
            return Math.max(0, 1.0f / (float)Math.pow(2, Math.abs(offset)));
            }
            }

//Here i set the ImageAdapter to a gallery, i would like to use a HorizontalScrollView instead. //这里我将ImageAdapter设置为图库,我想改用Horizo​​ntalScrollView。 How do i go about doing this? 我该怎么做?

      ((Gallery) findViewById(R.id.gallery))
                      .setAdapter(new ImageAdapter(MainMenu.this));

I would use the RealViewSwitcher control by Marc Reichelt. 我将使用Marc Reichelt的RealViewSwitcher控件。 Have a look here , you can use it as simple as 在这里看看,您可以简单地使用它

RealViewSwitcher rvs = new RealViewSwitcher();
rvs.addView(/*your image goes here*/); // add as many images as you want like this

setContentView(rvs); //run this on your Activity or add in a layout or use however you want.

Hope that helps. 希望能有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何设置图像的Horizo​​ntalScrollView的对齐方式 - How can i set alignment of horizontalScrollView of images 如何将listview放入horizo​​ntalscrollview中,以便列表可以水平滚动? - how to put listview inside a horizontalscrollview so that list can scroll hoizontally? 在Horizo​​ntalScrollView中加载图像和复选框 - Load images and checkbox in a HorizontalScrollView 在Horizo​​ntalScrollView中以编程方式设置图像 - Programmatically set images in HorizontalScrollView 以编程方式在Horizo​​ntalScrollView中设置图像 - Set Images In HorizontalScrollView programmatically Horizo​​ntalScrollView中的可点击图像 - Clickable Images in HorizontalScrollView 将图像调整为LinearLayout和Horizo​​ntalScrollView - Resizing images into LinearLayout and HorizontalScrollView 将图像添加到Horizo​​ntalScrollView - Add images to a HorizontalScrollView 如何从Horizo​​ntalScrollView释放屏幕上未显示的图像? - How to free images, which are not displayed on the screen, from HorizontalScrollView? Android-如何改善其中包含大量视图/图像的Horizo​​ntalScrollView - Android - how to improve HorizontalScrollView that has lots of views/images inside
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM