android textview clickable compoundDrawable

时间:2011-05-12 11:07:26

标签: android textview

我可以通过两种方式将图像设置在textview的左侧或右侧:

  1. 使用android:drawableLeft
  2. 使用linearlayout并单独添加imageview和textview
  3. 如果我使用1那么有没有办法听取drawable上的点击?

3 个答案:

答案 0 :(得分:2)

似乎到目前为止,现在有办法让textview的复合drawable可点击

答案 1 :(得分:0)

我认为第二种方法会比第一种方法更好,并且将监听器分别添加到视图中也没有问题。

答案 2 :(得分:0)

对于变通方法,我们可以使用onTouchListener

mTextView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(final View view, final MotionEvent motionEvent) {
            if (motionEvent.getX() > view.getWidth() - DisplayUtils.DpToPx(HomeScreen.this, 50)) 
            {
                Toast.makeText(<context>, "clicked right drawable", Toast.LENGTH_LONG).show();
            }
            return false;
        }
    });

DpToPx方法是

public static int DpToPx(final Context context, final int dp) {
    Resources r = context.getResources();
    return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, r.getDisplayMetrics());
}