2010-11-15 117 views
0

如果我有一個TableLayout結構(如下),它定義了2個ImageViews。其中還指定寬度/高度的像素值。這個工程,我所期望的 - PIC一個調整爲50像素和PIC2保持在原來的大小:以編程方式調整TableLayout中的ImageView的大小

<TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> 
    <TableRow> 
     <ImageView android:src="@drawable/pic1" android:layout_width="50px" android:layout_height="50px" /> 
     <ImageView android:src="@drawable/pic2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 
    </TableRow> 
</TableLayout> 

但我真的需要以編程方式做以上,所以我不喜歡這樣...

TableLayout tableLayout = new TableLayout(ctx); 
TableRow tableRow = new TaleRow(ctx); 

ImageView imageViewOne = new ImageView(ctx); 
ImageView imageViewTwo = new ImageView(ctx); 
imageViewOne.setImageResource(R.drawable.pic1); 
imageViewTwo.setImageResource(R.drawable.pic2); 

imageViewOne.setLayoutParams(new LayoutParams(50, 50)); 

rootView.addView(tableLayout); 
tableLayout.addView(tableRow); 
tableRow.addView(imageViewOne); 
tableRow.addView(imageViewTwo); 

上面沒有做一樣的XML - 第一ImageView的沒有顯示在所有使用添加setLayoutParams()方法將其之後的編程方法。

我迷失在這裏的東西,它是什麼不同?

謝謝!

回答

11

好吧我已經設法解決這個問題。用相反的:

imageViewOne.setLayoutParams(new LayoutParams(50, 50)); 

我用這個來代替:

imageViewOne.setLayoutParams(new TableRow.LayoutParams(50, 50)); 
+0

感謝您發佈您的解決方案。這非常幫助我! – 2012-04-10 03:28:25

相關問題