これは私が私の中に得るものActivity
です:
http://img855.imageshack.us/img855/2056/androidscreenshot.jpg
アクティビティはで埋められTableLayout
ます。次に、100x100のシアンのビットマップを含む2つである2つTableLayout
で埋められます。黄色の領域は、TableViewの位置(1,1)のアクティビティの背景です。赤い領域は、位置(1,2)のアクティビティの背景です。TableRow
View
問題は、位置(2,1)と(2,2)にある他の2つのシアンのビットマップが表示されないことです。問題は、最初の行のビューのサイズが幅ではサイズ変更されているが、高さではサイズ変更されていないことだと思います。したがって、最初の行のビューは2番目の行のビューを覆い隠します。
View
両方に追加するViewGroup.LayoutParams
かLayoutParams
、一緒に追加するとWRAP_CONTENT
、java.lang.ArithmeticException: divide by zero
これは私のコードです:
public class HIDActivity extends Activity
{
boolean toggle = false;
TableLayout IFaceLayout;
TableRow TButtons1;
TableRow TButtons2;
TableRow TArea;
SimpleButton TButton1;
SimpleButton TButton2;
SimpleButton TButton3;
SimpleButton TButton4;
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
TButton1 = new SimpleButton(this);
TButton2 = new SimpleButton(this);
TButton3 = new SimpleButton(this);
TButton4 = new SimpleButton(this);
TButtons1 = new TableRow(this);
TButtons2= new TableRow(this);
TButtons1.setLayoutParams(new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT , LayoutParams.WRAP_CONTENT ) );
TButtons2.setLayoutParams(new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT , LayoutParams.WRAP_CONTENT ) );
TButtons1.addView(TButton1);
TButtons1.addView(TButton2);
TButtons2.addView(TButton3);
TButtons2.addView(TButton4);
IFaceLayout = new TableLayout(this);
IFaceLayout.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT , LayoutParams.WRAP_CONTENT ) );
IFaceLayout.setStretchAllColumns(true);
IFaceLayout.addView(TButtons1);
IFaceLayout.addView(TButtons2);
setContentView(IFaceLayout);
IFaceLayout.requestLayout();
}
class SimpleButton extends View
{
BitmapDrawable ButtonImage;
Paint Style;
int i , j ;
int width , heigth;
public SimpleButton(Context context)
{
super(context);
Style = new Paint();
if(toggle == false)
{
this.setBackgroundColor(Color.YELLOW);
toggle = true;
}
else
{
this.setBackgroundColor(Color.RED);
toggle = false;
}
}
@Override
public void onDraw(Canvas canvas)
{
ButtonImage = new BitmapDrawable(Bitmap.createBitmap(100 , 100 , Bitmap.Config.RGB_565));
this.width = ButtonImage.getBitmap().getWidth();
this.heigth = ButtonImage.getBitmap().getHeight();
for(i = 0 ; i < width ; i++)
{
for(j = 0 ; j < heigth ; j++)
{
ButtonImage.getBitmap().setPixel(i, j, Color.CYAN);
}
}
canvas.drawBitmap(ButtonImage.getBitmap() , 0 , 0 , Style);
}
}
}
誰かがこの問題で私を助けてくれませんか。