2015-12-02 3 views
0

Привет, я хочу отобразить строку в TextView, когда пользователь прикасается к кнопке. Но я хочу, чтобы этот TextView отображался в той же позиции, где пользователь касается экрана. На данный момент у меня есть следующий код, но он не работает из:Настройка TextView в позиции x, y

private void set(Integer name, Float x, Float y, Typeface font) { 

    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
      RelativeLayout.LayoutParams.MATCH_PARENT, 
      RelativeLayout.LayoutParams.MATCH_PARENT); 
    layoutParams.setMargins(10, 1, 10, 1); 

    RelativeLayout nlap = new RelativeLayout(this); 
    nlap.setLayoutParams(layoutParams); 

    TextView tv1 = new TextView(this); 
    tv1.setX(x); 
    tv1.setY(y); 
    tv1.setText("+ " + String.valueOf(name)); 
    tv1.setTypeface(font); 
    tv1.setGravity(Gravity.CENTER); 
    tv1.setTextSize(20); 
    nlap.addView(tv1); 

} 

И в OnTouchListener:

int action = motionEvent.getAction(); 
      int x = (int)motionEvent.getX(); 
      int y = (int)motionEvent.getY(); 
      set(multiplicator, Float.intBitsToFloat(x), Float.intBitsToFloat(y), font); 

Я надеюсь, что вы можете мне помочь. Спасибо!

ответ

1

Declare TextView глобальной этой деятельности

TextView tv; 

затем в oncreate() методом

tv=(TextView) findViewById(R.id.your_xml_textview); 
tv.setText("your desired text"); 
tv.setVisibility(View.INVISIBLE); 

Или вы можете просто использовать android:visibility="invisible" в вашем XML

Теперь ontouch экрана мы получаем совместное и поместите текст в эту точку по нижнему коду

@Override 
public boolean onTouchEvent(MotionEvent event) { 
int corx = (int)event.getX(); 
int cory = (int)event.getY(); 
tv.setX(corx); 
tv.setY(cory); 
tv.setVisibility(View.VISIBLE); 
switch (event.getAction()) { 
    case MotionEvent.ACTION_DOWN: 
    case MotionEvent.ACTION_MOVE: 
    case MotionEvent.ACTION_UP: 
} 
return false; 
} 
+0

ОК, спасибо, что это работает, но, как я понял, я думаю, что координаты кнопки arent такие же, как и во всей компоновке. Вы можете мне помочь? – mcjonesman

Смежные вопросы