我想要做的是當您單擊圖像中顯示的任何箭頭按鈕時,TextView user_text將在各自的方向移動一小部分。出於某種原因,當我點擊按鈕時使用Java代碼,文本一直移動到屏幕的絕對邊緣。我不知道爲什麼會發生這種情況,所以我決定嘗試使用user_text.getX() and user_text.getY()
來獲得它們的X和Y座標,但是這並沒有做任何事情。經過一些研究,我發現我應該使用user_text.getLeft() and user_text.getTop() and/or user_text.getWidth()
。在嘗試完這些之後,工作室的android監視器/調試部分表示這些數字爲0.我不確定爲什麼會發生這種情況,但如果有人能告訴我我該怎麼做,或者如何獲得它,這樣每次你點擊它移動的按鈕,這將不勝感激。使用按鈕移動Textview Android
謝謝
P.S.我在圖像上寫的,這樣你就知道什麼是是ID-ED作爲user_text
我相關的XML代碼:
<TextView
android:id="@+id/user_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textColor="@android:color/black"
android:textSize="18sp"
android:elevation="20dp"
android:paddingBottom="120dp" />
. <--- that is supposed to represent that there's other non-relevant code in between
.
.
<RelativeLayout
android:id="@+id/move_Group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="5dp"
android:layout_centerInParent="true"
android:visibility="visible"
android:gravity="center">
<Button
android:id="@+id/move_left"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:background="@mipmap/arrow"
android:rotation="-90"
android:layout_marginRight="20dp"
android:onClick="moveLeft"/>
<Button
android:id="@+id/move_up"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/move_left"
android:background="@mipmap/arrow"
android:layout_marginRight="20dp"
android:onClick="moveUp"/>
<Button
android:id="@+id/move_down"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/move_up"
android:background="@mipmap/arrow"
android:rotation="180"
android:layout_marginRight="20dp"
android:onClick="moveDown"/>
<Button
android:id="@+id/move_right"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/move_down"
android:background="@mipmap/arrow"
android:rotation="90"
android:layout_marginRight="20dp"
android:onClick="moveRight"/>
<TextView
android:id="@+id/move"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MOVE"
android:textSize="20sp"
android:layout_toRightOf="@id/move_right"
android:textColor="@android:color/black"/>
</RelativeLayout>
我相關的Java代碼:
TextView user_text = (TextView) findViewById(R.id.user_text);
.
.
.
public void moveLeft(View view)
{
user_text.setX(userX + 10);
}
public void moveUp(View view)
{
user_text.setY(userY + 10);
}
public void moveDown(View view)
{
user_text.setY(userY - 10);
}
public void moveRight(View view)
{
user_text.setX(userX - 10);
}
請留下一些解釋 – tan