我是初学者,我相信这是一个相对简单的答案
我在屏幕上随机出现一个按钮。当我单击按钮时,我想获取其位置,并使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方法上使用它。它给出了毫无意义的错误。
还有其他办法吗?
最好的问候
答案 0 :(得分:1)
您可以在单击按钮时将文本设置为按钮,而不是使用TextView。
在onClick()
方法中写:
btnScale.setText("Appear");
另外,由于您的按钮背景为黑色,请不要忘记将此行添加到Button标签(xml)中:
android:textColor="@android:color/white"
希望它会有所帮助!