0

Java コードで TextBox を画像の上に動的に配置したいと考えています。これが私のコードです:

    ImageView image2 = new ImageView(this);       
    image2.setPadding(25, 25, 0, 0);  
    image2.setId(2001);
    image2.setImageResource(R.drawable.img);
    LayoutParams layoutParams = new   LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
    image2.setLayoutParams(layoutParams);  
    linear.addView(image2);

その私のイメージ:

ここに画像の説明を入力

この画像の上にテキストビューを配置する方法??? 助けてください..!!!

4

3 に答える 3

0

なぜJavaでこれをやろうとしているのですか?z-index は、アイテムが追加される順序によって定義されFrameLayoutます。z-index

<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/my_drawable"
    android:scaleType="fitCenter"
    />
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|center"
    android:padding="5dp"
    />

于 2012-07-27T10:48:35.430 に答える
0

このコードをデモとして試してください:

        //Main Rel_Layout
    RelativeLayout scrollHolder = new RelativeLayout(this);
    scrollHolder.setId(++myid);
    RelativeLayout.LayoutParams scrollHolderParams = new RelativeLayout.LayoutParams(
            LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    scrollHolder.setLayoutParams(scrollHolderParams);
    scrollHolder.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

    //  Image Holder Layout
    RelativeLayout imgHolder = new RelativeLayout(this);
    imgHolder.setId(++myid);
    RelativeLayout.LayoutParams imgHolderParams = new RelativeLayout.LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    imgHolder.setLayoutParams(imgHolderParams);
    imgHolder.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
    //imgHolder.setBackgroundColor(Color.BLUE);
    imgHolder.setLayoutParams(imgHolderParams);

        //  Image Object
    ImageView image2 = new ImageView(this);       
    image2.setId(++myid);
    image2.setBackgroundColor(Color.BLUE);
    //int resId = HomePage.this.getResources().getIdentifier("img2", "drawable", HomePage.this.getPackageName());
    image2.setImageResource(R.drawable.img2);
    //  set image to its holder
    imgHolder.addView(image2);
    //  set imgHolder to main Layout
    scrollHolder.addView(imgHolder);
    //   set main layout as content-view
    setContentView(scrollHolder);
// this will sure help you.

古い最も簡単な方法は次のとおりです。 [1] EditText をRelative -layoutに追加します。

layout-center-horizo​​ntal = true および layout-center-vertical = true

[2] xml で Visibility=GONE を設定します

[3] コード ファイルでそのオブジェクトを取得し、その「テキスト値」Visibility = VIEW.Visibleを設定します。

于 2012-07-27T09:05:25.210 に答える
0

ImageView と EditText を RelativeLayout でラップします (高さと幅の wrap_content )。最初にレイアウト エディターを試して、これをプログラムで設定するための値を取得します。

于 2012-07-27T09:02:29.597 に答える