我是初学者,我认为这是比较简单的答案
我有一个按钮随机出现在屏幕上。当我单击按钮时,我想获取它的位置并使 textView 在按钮中心可见。
btnScale.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
v.startAnimation(animScale);
btnScale.setClickable(false);
int x = v.getLeft();
int y = v.getTop();
if(txtView.getVisibility()==View.VISIBLE){
txtView.setVisibility(View.INVISIBLE);
}else{
txtView.setVisibility(View.VISIBLE);
txtView.setX(x);
txtView.setY(y);
}
}});
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
xmlns:android="http://schemas.android.com/apk/res/android" >
<Button
android:id="@+id/button"
android:layout_width="50dip"
android:layout_height="50dip"
android:layout_centerVertical= "true"
android:layout_centerHorizontal= "true"
android:background="@drawable/black_round_button"
/>
<TextView android:id="@+id/count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="Appear"
/>
到目前为止,这是我尝试过的。
可以看出,我使用 getLeft()、getTop() 方法来获取按钮的位置。但是我不能在 setX、setY 方法上使用它。它给出了无意义的错误。
还有其他方法吗?
最好的问候
最佳答案
您可以简单地在单击按钮时为按钮设置文本,而不是使用 TextView。
在您的onClick()
方法中写入:
btnScale.setText("Appear");
此外,因为您的按钮背景是黑色的,请不要忘记将此行添加到您的按钮标记 (xml) 中:
android:textColor="@android:color/white"
希望对您有所帮助!
关于android - 如何使用 Onclick 获取按钮的位置并使 Textview 出现在按钮的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39055994/