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 由添加项目的顺序定义FrameLayoutz-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

将您的 ImageView 和 EditText 包装在 RelativeLayout 中(wrap_content 用于高度和宽度)。首先尝试使用布局编辑器并获取以编程方式设置的值。

于 2012-07-27T09:02:29.597 回答
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.

OLDER 最简单的方法是:[1] 在您的Relative-layout中添加 EditText ,使用

布局中心水平=真和布局中心垂直=真

[2] 在 xml 中设置它的 Visibility=GONE

[3] 在代码文件中获取它的对象,并设置它的“文本值”Visibility = VIEW.Visible

于 2012-07-27T09:05:25.210 回答