0

以下のコードを使用してキャンバスにテキストを設定しています..しかし、レイアウトの下部にあるテキストの位置を設定する方法を知りたい..

    LinearLayout layout = new LinearLayout(getContext());
    TextView textView = new TextView(getContext()); 
    textView.setVisibility(View.VISIBLE);
    textView.setText(DetailsActivity.temp_desc);
    textView.setLines(10);
    textView.setSingleLine(false);
    layout.addView(textView);
    layout.measure(canvas.getWidth(), canvas.getHeight());
    layout.layout(0,100, canvas.getWidth(), canvas.getHeight());
    layout.draw(canvas);

このコードを使用して、(0,0) の位置にテキストを取得していますが、(0,400) に設定したいのですが、どうすれば要件を達成できますか?

4

3 に答える 3

0

ビューを特定の位置に設定したくない場合は、線形レイアウトを使用しないでください。Relative Layout を使用してください。LinearLayout は名前が示すとおりです。Linear...
とにかく、Java でレイアウトを行うのは非常に悪い習慣です。xml で行う必要があります。

于 2013-01-18T10:24:01.023 に答える
0

キャンバスにテキストを描画するための 2 つのサンプル コードを次に示します。

1)キャンバスにTextViewを描画する

TextView textView = new TextView(getContext()); 

textView.setText(DetailsActivity.temp_desc);
textView.setMinLines(1);

canvas.translate(0,bitmap.getHeight());
textView.layout(0, 0, 500, 150);
textView.draw(canvas);

2)キャンバスに文字を描く

canvas.drawText("Value",x_position, y_position, your paint object);
于 2013-01-18T10:37:01.000 に答える
-2

ビューの x 座標と y 座標を設定できます

こちらのリンクを参照してください

または絶対レイアウトでこのコードを使用します

TextView txt = new TextView(screenContext);
txt.setLayoutParams(new AbsoluteLayout.LayoutParams(width,height, calculatedX,calculatedY));

または描画中のキャンバスの場合、これを使用します

 canvas.drawText(text, x, y, paint);
于 2013-01-18T10:30:23.193 に答える