2

別のビューの上にビューを追加しようとしています。

最初に xml を介してビューを設定し、次に 2 つ目のビューをプログラムで追加したいと考えています。public void onCreate(Bundle savedInstanceState)

{
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  LinearLayout ll = (LinearLayout) findViewById(R.id.layout);
  drawView = new DrawView(this);
  drawView.setBackgroundColor(Color.TRANSPARENT);
  Bitmap bitmap = Bitmap.createBitmap(10, 100, Bitmap.Config.ARGB_8888);
  Canvas canvas = new Canvas(bitmap);
  drawView.draw(canvas);
  drawView.setLayoutParams(new LayoutParams(800, 0, 0.18f));
  LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)drawView.getLayoutParams();
  params.setMargins(0, 0, 0, -130);
  drawView.setLayoutParams(params);
  ll.addView(drawView, 2);

}

私の問題は、追加しようとしているビューの上に xml があることです。

2番目のビューを一番上にするにはどうすればよいですか?

4

3 に答える 3

2

LinearLayout子を縦または横に並べるレイアウトです。ビューを上下に積み重ねたい場合はRelativeLayout、 の代わりに のように、それを可能にするレイアウトを使用しますLinearLayout

于 2012-04-19T07:58:24.473 に答える
2

ビューを重ねて表示したい場合は、相対レイアウトを使用する必要があります。したがって、あなたの場合、「レイアウト」を相対レイアウトに置き換えます.Javaコードでは、以下のようなことができます。

    RelativeLayout.LayoutParams baseLayoutParam = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    baseLayout.setLayoutParams(baseLayoutParam);
    DrawView drawView = new DrawView(context);
    RelativeLayout.LayoutParams rLayoutParams = new RelativeLayout.LayoutParams(android.view.ViewGroup.LayoutParams.FILL_PARENT, (int) (250 * Utility.getDip(context)));
    rLayoutParams.addRule(RelativeLayout.CENTER_IN_PARENT); // Adjust accordingly to your requirement
    drawView.setLayoutParams(rLayoutParams);ll.addView(drawView);
于 2012-04-19T08:02:27.007 に答える
0

ビューのbringToFrontメソッドを呼び出すことができます:

drawView.bringToFront();
于 2012-04-19T07:58:19.853 に答える