2016-06-18 191 views
0

enter image description here 我已創建自定義視圖組。根據父寬度和高度調整子視圖的尺寸

<com...Template 
      android:id="@+id/template" 
      android:layout_width="match_parent" 
      android:layout_height="80dp" 
      android:layout_weight=".5" /> 

我在運行時動態添加上面的佈局。

Template.java

currentTemplateView = LayoutInflater.from(context).inflate(R.layout.template_one, this, false); 

addView(currentTemplateView, 0); 
@Override 
    protected void onLayout(boolean changed, int l, int t, int r, int b) { 
     Log.e("Onla", "" + l + t); 
     int row, col, left, top; 
     for (int i = 0; i < getChildCount(); i++) { 
      View child = getChildAt(i); 
      child.layout(0, 0, getMeasuredWidth(), getMeasuredHeight()); 
     } 

     // addView(currentTemplateView, 0); 
    } 

    @Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     int mode = MeasureSpec.getMode(widthMeasureSpec); // mode == View.MesaureSpec.EXACTLY 
     int size = MeasureSpec.getSize(widthMeasureSpec); // size == 400 
     Log.e("onmeasure", "Width: " + mode + "," + size); 
     for (int i = 0; i < getChildCount(); i++) { 
      measureChildWithMargins(getChildAt(i), widthMeasureSpec, 0, heightMeasureSpec, 0); 

      // getChildAt(i).measure(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.getSize(heightMeasureSpec)); 
     } 
     super.onMeasure(widthMeasureSpec, heightMeasureSpec); 

    } 

正常佈局與289 DP(模板)的高度。顯示不錯..

當我在列表或網格視圖中使用。視圖組中的子項已摺疊。它應該適合父視圖組(template.java)。

enter image description here

我想作爲的ViewGroup看起來像一圖像尺寸調整無論我做的。讓我什麼,我需要在我的代碼或這方面的任何想法來改變..提前

感謝。

回答

0

最後我做了我需要的..所以我只是縮放模板視圖

 if (isScaleLayout) { 

       view.setScaleX(scaleX);/0-1 
       view.setScaleY(scaleY);/0-1 
       view.setPivotX(0f); 
       view.setPivotY(getWidth()); 
      } 
**XML** 

<FrameLayout 
     android:layout_width="150dp" // Actually size for layout/ adapter view 
     android:layout_height="80dp" 
     android:padding="3dp"> 

     <com..Template 
      android:id="@+id/template" 
      android:layout_width="@dimen/template_height"//205 
      android:layout_height="@dimen/template_height"//205 /> 


    </FrameLayout> 
相關問題