2012-08-08 53 views
2

之間的空間,我有Horizo​​ntalScrollView,問題是,經過我添加的意見,我的這些觀點之間的空白。這裏是一個事先知情同意:
enter image description hereHorizo​​ntalScrollView補充意見

這裏是類的代碼:

public class HomeFeatureLayout extends HorizontalScrollView { 
    public HomeFeatureLayout(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    public HomeFeatureLayout(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public HomeFeatureLayout(Context context) { 
     super(context); 
    } 

    public void setFeatureItems() { 
     LinearLayout internalWrapper = new LinearLayout(getContext()); 
     internalWrapper.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
     internalWrapper.setOrientation(LinearLayout.HORIZONTAL); 
     addView(internalWrapper); 
     // this.mItems = items; 
     for (int i = 0; i < 10; i++) { 
      ImageView im = new ImageView(getContext()); 
      im.setImageResource(R.drawable.aaaa); 
      im.setScaleType(ScaleType.CENTER_INSIDE); 
      im.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT)); 


      internalWrapper.addView(im); 
     } 
    } 
} 

而且MainActivity:

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     HomeFeatureLayout home = new HomeFeatureLayout(this); 
     home.setFeatureItems(); 
     home.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 

     setContentView(home); 

    } 

爲什麼有每2 IMA之間的空格水電站?

回答

0

我要創建我自己的看法,並延長ImageView的,然後覆蓋OnMeasure方法,用THIS問題的幫助:

public class myImageView extends ImageView { 

    public myImageView(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     MeasureSpec.getSize(widthMeasureSpec); 
     MeasureSpec.getSize(heightMeasureSpec); 
     setMeasuredDimension(measureWidth(widthMeasureSpec), measureHeight(heightMeasureSpec)); 

     setLayoutParams(new LinearLayout.LayoutParams(measureWidth(widthMeasureSpec), measureHeight(heightMeasureSpec))); 

     super.onMeasure(widthMeasureSpec, heightMeasureSpec); 
    } 

    public int measureWidth(int measureSpec) { 
     int result = 0; 
     int specMode = MeasureSpec.getMode(measureSpec); 
     int specSize = MeasureSpec.getSize(measureSpec); 
     Display display = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
     int screenWidth = display.getWidth(); 

     if (specMode == MeasureSpec.EXACTLY) 
      // We were told how big to be 
      result = specSize; 
     else { 
      // Measure the view 
      result = screenWidth; 
      if (specMode == MeasureSpec.AT_MOST) 
       // Respect AT_MOST value if that was what is called for by measureSpec 
       result = Math.min(result, specSize); 
     } 

     return result; 
    } 

    public int measureHeight(int measureSpec) { 
     int result = 0; 
     int specMode = MeasureSpec.getMode(measureSpec); 
     int specSize = MeasureSpec.getSize(measureSpec); 
     Display display = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
     int screenHeight = display.getHeight(); 

     if (specMode == MeasureSpec.EXACTLY) 
      // We were told how big to be 
      result = specSize; 
     else { 
      // Measure the view 
      result = screenHeight; 
      if (specMode == MeasureSpec.AT_MOST) 
       // Respect AT_MOST value if that was what is called for by measureSpec 
       result = Math.min(result, specSize); 
     } 

     return result; 
    } 

} 
+0

但我應該在哪裏過,我想兩個圖像之間的空間,我想只有空間之間的兩個圖像和該空間不應該顯示在屏幕上的圖像顯示時,這應該工作sem像viapager.setmargin()方法 – Mahesh 2014-10-10 10:02:21

+0

我想給兩個圖像之間的空間我用這個庫,所以我應該改變這個 – Mahesh 2014-10-10 10:03:58

相關問題