2016-06-18 46 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)に適合する必要があります。私は私が何でもリサイズ最初のイメージのように見えるとしてのViewGroupたい

enter image description here

..私は私のコードや、このための任意のアイデアに変更する必要があるものを私にしてみましょう。..事前に

感謝。

答えて

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> 
関連する問題