设置视图的 X 和 Y onclick 不改变位置
Posted
技术标签:
【中文标题】设置视图的 X 和 Y onclick 不改变位置【英文标题】:Set X and Y of a view onclick not changing position 【发布时间】:2016-02-13 13:17:18 【问题描述】:我正在尝试以编程方式更改 TextView
的位置。我在代码中创建TextView
并显示它。一切正常,但TextView
始终保持在屏幕的左上角,不管它更改为setX
或setY
。
这是我的代码。
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
textView = new TextView(MainActivity.this);
textView.setText("Test");
textView.setPadding(10, 10, 10, 10);
RelativeLayout Screen = (RelativeLayout) findViewById(R.id.screenRelativeLayout);
Typeface face=Typeface.createFromAsset(getAssets(),"fonts/shablagooital.ttf");
textView.setTypeface(face);
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int screenwidth = size.x;
int screenheight = size.y;
Random randdisp = new Random();
int randscreenwidth = randdisp.nextInt(screenwidth) + 1;
int randscreenheight = randdisp.nextInt(screenheight) + 1;
textView.setX(200);
textView.setY(200);
Screen.addView(textView);
感谢您的帮助。
尼古拉斯
【问题讨论】:
你没有给出相同的变量引用,你必须在点击时给出它的引用 @keyurLahani 我不明白你的意思?我放在那里测试的 setX 和 setY 值就是你的意思? 【参考方案1】:你可以使用LayoutParams
:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
params.setMargins(200, 200, 0, 0);
Screen.addView(textView, params);
【讨论】:
【参考方案2】:可能在将 TextView 添加到屏幕后设置 X 和 Y。
【讨论】:
以上是关于设置视图的 X 和 Y onclick 不改变位置的主要内容,如果未能解决你的问题,请参考以下文章