在Android中点击屏幕时如何在屏幕上显示多个标签(Textview)..? [关闭]
Posted
技术标签:
【中文标题】在Android中点击屏幕时如何在屏幕上显示多个标签(Textview)..? [关闭]【英文标题】:How to show multiple tags(Textview) on screen when tap on screen in Android..? [closed] 【发布时间】:2014-01-18 05:04:55 【问题描述】:当我触摸屏幕时,我想在屏幕上显示多个 textview 标签。现在我正在使用我在 xml 中创建的标签(Textview),但是不可能在 xml 中创建多个标签。有没有办法动态创建多个标签? 我的代码:
public boolean onTouch(View arg0, MotionEvent event)
show tag();
private void showTag()
if(tagFlag==0)
AbsoluteLayout.LayoutParams params = ((AbsoluteLayout.LayoutParams) _tagLiley.getLayoutParams());
params.x = (int) tagX;
params.y = (int) tagY;
_tagLiley.setLayoutParams(params);
_tagLiley.setVisibility(View.VISIBLE);
tag1=_categorySearchET.getText().toString().trim();
_tagName.setText(tag1);
_tagName.setTextSize(8);
tagFlag=1;
else if (tagFlag==1)
AbsoluteLayout.LayoutParams params = ((AbsoluteLayout.LayoutParams) _tagLiley2.getLayoutParams());
params.x = (int) tagX;
params.y = (int) tagY;
_tagLiley2.setLayoutParams(params);
_tagLiley2.setVisibility(View.VISIBLE);
tag2=_categorySearchET.getText().toString().trim();
_tagName2.setText(tag2);
_tagName2.setTextSize(8);
tagFlag=2;
else if (tagFlag==2)
AbsoluteLayout.LayoutParams params = ((AbsoluteLayout.LayoutParams) _tagLiley3.getLayoutParams());
params.x = (int) tagX;
params.y = (int) tagY;
_tagLiley3.setLayoutParams(params);
_tagLiley3.setVisibility(View.VISIBLE);
tag3=_categorySearchET.getText().toString().trim();
_tagName3.setText(tag3);
_tagName3.setTextSize(8);
【问题讨论】:
@SpringBreaker 我是初学者。我没有那么多知识。如果你有我的问题的答案然后帮助我。 您要显示的标签是什么? 您想在屏幕上触摸的位置显示TextView
吗?
在屏幕的任何位置
为此使用画布......
【参考方案1】:
我假设您想在屏幕触摸位置的TextView
中显示文本。使用下面的代码,
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/Relative"
android:layout_
android:layout_ >
</RelativeLayout>
MainActivity.java
public class MainActivity extends Activity implements OnTouchListener
RelativeLayout rel;
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
rel=(RelativeLayout)findViewById(R.id.Relative);
rel.setOnTouchListener(this);
@Override
public boolean onTouch(View v, MotionEvent e)
int eventaction = e.getAction();
int x,y;
switch (eventaction )
case MotionEvent.ACTION_DOWN: // touch on the screen event
x = (int)e.getX();
y = (int)e.getY();
case MotionEvent.ACTION_MOVE: // move event
x = (int)e.getX();
y = (int)e.getY();
case MotionEvent.ACTION_UP: // finger up event
x = (int)e.getX();
y = (int)e.getY();
text=new TextView(getApplicationContext());
RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(100, 100);
lp.topMargin=y;
lp.leftMargin=x;
text.setTextColor(Color.BLACK);
text.setTextSize(20);
text.setText("("+x+","+y+")");
rel.addView(text, lp);
break;
return false;
希望对你有帮助。
【讨论】:
感谢您的帮助..以上是关于在Android中点击屏幕时如何在屏幕上显示多个标签(Textview)..? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在android中获取主屏幕小部件列表项的点击事件[重复]
如何在 iOS 屏幕上点击某个区域时隐藏 UIView 并使其显示