2014-05-01 118 views
0

我想調整的ImageView,但我的代碼不工作。下面的代碼:錯誤代碼如何以編程方式在viewpager中設置imageview的大小?

private class ImagePagerAdapter extends PagerAdapter { 


    private int[] mImages = new int[] { 
    R.drawable.kuhpps, 
    R.drawable.kuhpps, 
    R.drawable.kuhpps 
}; 

部分:

@Override 
public Object instantiateItem(ViewGroup container, int position){ 
    Context context = MainActivity.this; 
    ImageView imageView = new ImageView(context); 

    int padding = context.getResources().getDimensionPixelSize(
     R.dimen.padding_medium); 
    imageView.setPadding(padding, padding, padding, padding); 
    imageView.getLayoutParams().height = 30; 
    imageView.getLayoutParams().width = 30;  
    imageView.setImageResource(mImages[position]); 

    ((ViewPager) container).addView(imageView, 0); 
    return imageView; 
} 

回答

0

您需要設置Layout Params與高度和懷特。您是從getLayoutParams更新LayoutParams實例,但不會改變看法。

做這樣的改變ImageViewLayout size

ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(300,300); 
imageView.setLayoutParams(layoutParams); 
+0

對不起,但它不起作用:( – user3591373

+0

看到我的更新的答案。試着讓我知道 – Libin

+0

它仍然無法正常工作,但謝謝你試圖幫助,沒有問題,我會自己找到。 – user3591373

0

在viewpager的適配器:

@Override 
    public Object instantiateItem(ViewGroup container, int position) { 

     Context context = ActivityGallery.this; 

     ImageView imageView = new ImageView(context); 
     imageView.setLayoutParams(new ViewGroup.LayoutParams(mScreenWidth, ViewGroup.LayoutParams.WRAP_CONTENT)); 
     imageView.setAdjustViewBounds(true); 
     imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);    

     Drawable drawable = Drawable.createFromPath(Environment.getExternalStorageDirectory() + "/Android/data/" + getPackageName() + 
       "/"+....+".jpg");   
     if(drawable != null)     
      imageView.setImageDrawable(drawable); 

     ((ViewPager) container).addView(imageView, 0); 
     return imageView; 
    } 

mScreenWidth是早期獲取的當前屏幕的寬度。

相關問題