-1

我想在图像视图顶部实现一个文本视图,用户可以在其中定义自己类型的文本,并可以在图像视图顶部保存文本。谁能帮助我提供好的教程?这是我的 Fullimage 活动课

  public class FullImageActivity extends Activity {

   @Override
     public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fullimage);

    // get intent data
    Intent i = getIntent();

    // Selected image id
    int position = i.getExtras().getInt("id");
    ImageAdapter imageAdapter = new ImageAdapter(this);

    ImageView imageView = (ImageView) findViewById(R.id.fullimage);
    imageView.setImageResource(imageAdapter.mThumbIds[position]);
  }

这是基本示例}

4

5 回答 5

2
< Relativelayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical">

  < ImageView
     android:id="@+id/image"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:src="@drawable/contact" />

 <TextView
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_alignBottom="@+id/image" />

 </Relativelayout >
于 2013-09-17T12:20:11.730 回答
1

您需要使用 customviews .. 使用画布在图像上写入文本覆盖 onDraw() 方法

 @ Override
public void onDraw ( Canvas canvas ) {

    try {
        canvas.drawColor ( Color.BLACK ) ;
        bitmap = BitmapFactory.decodeResource ( getResources ( ) , ( R.drawable.background_image ) ) ;

        canvas.drawBitmap ( bitmap , 0 , 0 , null ) ;

        Paint paint = new Paint();
        paint.setColor(Color.WHITE);
        canvas.drawText("Text to be drwaw", my_txt_x_position, my_txt_y_position, paint);

    } catch ( Exception e ) {
        e.printStackTrace ( ) ;
    } catch ( Error e ) {
        e.printStackTrace ( ) ;
    }

}
于 2013-09-17T11:49:28.203 回答
1

在你的布局中添加这个

<ImageView
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="centerCrop"
    android:src="@drawable/contact" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/image"
    android:background="#77000000"
    android:paddingBottom="14dip"
    android:paddingLeft="8dip"
    android:paddingTop="14dip"
    android:text="Load and user your OWN photos!"
    android:textColor="#FFFFFFFF"
    android:textSize="18sp" />

确保它应该在标签RelativeLayout

于 2013-09-17T11:57:20.827 回答
0

我使用相对布局来覆盖视图。尝试使用相对布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativelayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/img_corct"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/bt" />

    <TextView
        android:id="@+id/myImageViewText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/img_corct"
        android:layout_alignLeft="@+id/img_corct"
        android:layout_alignRight="@+id/img_corct"
        android:layout_alignTop="@+id/img_corct"
        android:text="Sample Text"
        android:textColor="#000000"
        android:textSize="24sp" />

</RelativeLayout>
于 2013-09-17T11:54:34.277 回答
0

把你的两个观点都放在一个FrameLayoutor中RelativeLayout怎么样?

来自 Android 团队的 Romain Guy 提供了一个出色的教程,以使用FrameLayout.

然后,您可以在用户点击前者时替换(隐藏/显示)您TextView的。EditText或者您甚至可以显示一个对话框以允许用户更改文本。

于 2013-09-17T11:58:53.147 回答