Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 画廊图片应该填满屏幕的宽度_Android_Android Layout_Imageview_Gallery - Fatal编程技术网

Android 画廊图片应该填满屏幕的宽度

Android 画廊图片应该填满屏幕的宽度,android,android-layout,imageview,gallery,Android,Android Layout,Imageview,Gallery,根据可用图片的数量,我使用imageview或Gallery。当只有一张图片可用时,它使用imageview,这就像一个符咒。我使用来自美国的imageloader。这张图片在我的屏幕上全宽 当有多张图片时,我使用一个带有页面指示器的图库。在较小的屏幕上,这很好。但是在平板电脑上,图片并没有填满整个屏幕,这很奇怪,因为单一的imageview可以,而imageloader的工作非常完美。我想这与我的多媒体资料设置有关 图库代码: // define pager identifier

根据可用图片的数量,我使用imageview或Gallery。当只有一张图片可用时,它使用imageview,这就像一个符咒。我使用来自美国的imageloader。这张图片在我的屏幕上全宽

当有多张图片时,我使用一个带有页面指示器的图库。在较小的屏幕上,这很好。但是在平板电脑上,图片并没有填满整个屏幕,这很奇怪,因为单一的imageview可以,而imageloader的工作非常完美。我想这与我的多媒体资料设置有关

图库代码:

// define pager identifier
        pager = (LinearLayout)findViewById(R.id.pager);
        pagerdot1 =(ImageView)pager.findViewById(R.id.pager_dot_1);
        pagerdot2 =(ImageView)pager.findViewById(R.id.pager_dot_2);
        pagerdot3 =(ImageView)pager.findViewById(R.id.pager_dot_3);
        venueImage = (ImageView)findViewById(R.id.venueImage);
        venueGallery = (CustomGallery)findViewById(R.id.GVvenueImage);


        imageLoader=new LargerImageLoader(this.getApplicationContext());



        if(venue.photos.size()>1){//multiple photos --> gallery

            if(venue.photos.size()==2){
                pagerdot3.setVisibility(View.GONE);
            }

            venueGallery.setVisibility(View.VISIBLE);
            venueImage.setVisibility(View.GONE);

            String[] fotos = new String[venue.photos.size()]; 
            for(int i=0;i<venue.photos.size();i++){
                if(venue.photos.get(i).large !=null){
                    fotos[i] = venue.photos.get(i).large;
                    System.out.println(venue.photos.get(i).large);
                }
            }
            ImagePagerAdapter galleryad = new ImagePagerAdapter(fotos);

            venueGallery.setAdapter(galleryad);
            venueGallery.setOnItemSelectedListener(new OnItemSelectedListener(){
                @Override
                public void onItemSelected(AdapterView<?> adapter, View view, int position, long id) {
                    switch(position) {
                    case 0:
                        pagerdot1.setImageResource(R.drawable.pager_oranje);
                        pagerdot2.setImageResource(R.drawable.pager_wit);
                        pagerdot3.setImageResource(R.drawable.pager_wit);
                        break;
                    case 1:
                        pagerdot2.setImageResource(R.drawable.pager_oranje);
                        pagerdot1.setImageResource(R.drawable.pager_wit);
                        pagerdot3.setImageResource(R.drawable.pager_wit);
                        break;
                    case 2:
                        pagerdot3.setImageResource(R.drawable.pager_oranje);
                        pagerdot2.setImageResource(R.drawable.pager_wit);
                        pagerdot1.setImageResource(R.drawable.pager_wit);
                        break;
                    default:
                        pagerdot1.setImageResource(R.drawable.pager_oranje);
                        pagerdot2.setImageResource(R.drawable.pager_wit);
                        pagerdot3.setImageResource(R.drawable.pager_wit);
                    }


                }
                @Override
                public void onNothingSelected(AdapterView<?> adapter) {

                }


            });
        }else if(venue.photos.size() ==1 ){ //1 foto
            if(venue.photos.get(0).large != null){
                venueGallery.setVisibility(View.GONE);
                venueImage.setVisibility(View.VISIBLE);
                imageLoader.DisplayImage(venue.photos.get(0).large, venueImage);
            } else{
                setStandardPic();
            }
            pager.setVisibility(View.GONE);
            //                
        } else{
            setStandardPic();           
        }
顶部屏幕的xml:

<RelativeLayout
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >

                    <ImageView
                        android:id="@+id/venueImage"
                         android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:adjustViewBounds="true"
                        android:fadingEdge="none"
                        android:scaleType="centerCrop"
                        android:src="@drawable/header_food" />

                    <com.hera.ontdekdelft.lazyloader.CustomGallery
                        android:id="@+id/GVvenueImage"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:adjustViewBounds="true"
                        android:fadingEdge="none"
                        android:scaleType="centerCrop"
                        android:visibility="gone" />

                    <ImageView
                        android:id="@+id/venueCategoryImage"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:layout_alignParentRight="true"
                        android:src="@drawable/venuecategory_sights" />

                    <include
                        android:id="@+id/pager"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:layout_alignParentLeft="true"
                        layout="@layout/gallery_pager" />
                </RelativeLayout>

我的自定义图库只是一个普通的图库,它覆盖了onFling方法以获得更好的fling设置


我应该做些什么来让我的多媒体资料在平板电脑屏幕上也能正常工作?

不清楚你的宽度和高度是从哪里来的。。。 我没有平板电脑,但它在我的galaxy note和模拟器上运行良好。根据图像的纵横比,您对高度的计算可能会有所不同

屏幕宽度和屏幕高度包含在适配器的构造函数中:

主要活动

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    screen_width = size.x;
    screen_height = size.y;
适配器getview

   @Override
    public View getView(int postion, View view, ViewGroup group)
        {
            ImageView imageView = new ImageView(_context);

            imageView.setImageResource(imageIds[postion]);
            imageView.setScaleType(ScaleType.FIT_XY);
            imageView.setLayoutParams(new Gallery.LayoutParams(_screen_width, (int) ((double)_screen_height/2.5)));
            return imageView;
        }
   @Override
    public View getView(int postion, View view, ViewGroup group)
        {
            ImageView imageView = new ImageView(_context);

            imageView.setImageResource(imageIds[postion]);
            imageView.setScaleType(ScaleType.FIT_XY);
            imageView.setLayoutParams(new Gallery.LayoutParams(_screen_width, (int) ((double)_screen_height/2.5)));
            return imageView;
        }