对图像进行一些评论并将其悬停

时间:2013-12-28 10:37:05

标签: android image hover touch

我需要在图像中发生触摸事件的部分应用一些文本。就像Facebook上的图像标记一样。请提供一些线索如何去做。

到目前为止,我所做的是我从图库加载图片并在图片浏览器上显示。

public class LoadImg extends Activity implements OnTouchListener{
private static int RESULT_LOAD_IMAGE = 1;
float x,y;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    x=0;y=0;
    Button buttonLoadImage = (Button) findViewById(R.id.button1);
    buttonLoadImage.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {

            Intent i = new Intent(
                    Intent.ACTION_PICK,
                     android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

            startActivityForResult(i, RESULT_LOAD_IMAGE);
        }
    });

实现OnTouchListener,我找到了x和y坐标。

public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub

    x=event.getX();
    y=event.getY();

    return false;

}

但是imageviewer没有任何方法可以在坐标上添加文字。 我不想预设文字/吐司。我希望在用户触摸图像时生成edittext / toast。

2 个答案:

答案 0 :(得分:0)

如果你想这样做,可以使用longClickListener并显示带有提示字符串的Toast消息。

Toast viewToast = Toast.makeText(this, "Your tool tip", Toast.LENGTH_SHORT);
yourView.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public void onLongClick(View v) {
        viewToast.show();
    }
});

答案 1 :(得分:0)

使用xy获取event.getX()event.getY()个职位。 然后,在这些位置添加textview到布局。像:

TextView tv=new TextView(this);

使用xy

添加布局参数和左边距和上边距
LinearLayout.LayoutParams trparams = new 
LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
LinearLayout.LayoutParams.WRAP_CONTENT);
trparams.leftmargin=x;
trparams.topmargin=y;
tv.setLayoutParams(trparams);

然后将此textview添加到布局中。