如何获取按钮的位置,并使用Onclick使Textview显示在按钮的中心

时间:2016-08-20 15:47:42

标签: android button textview location onclicklistener

我是初学者,我相信这是一个相对简单的答案

我在屏幕上随机出现一个按钮。当我单击按钮时,我想获取其位置,并使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方法上使用它。它给出了毫无意义的错误。

还有其他办法吗?

最好的问候

1 个答案:

答案 0 :(得分:1)

您可以在单击按钮时将文本设置为按钮,而不是使用TextView。

onClick()方法中写:

btnScale.setText("Appear");

另外,由于您的按钮背景为黑色,请不要忘记将此行添加到Button标签(xml)中:

android:textColor="@android:color/white"

希望它会有所帮助!