[Android] Touch 拖移元件

更新 發佈閱讀 7 分鐘


示範

XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView
android:id="@+id/ig1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/ic_launcher" />

<TextView
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/ig1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

JAVA

public class MainActivity extends AppCompatActivity implements View.OnTouchListener{
ImageView ig1;
TextView t1;
double touchx,touchy;
int mx,my;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ig1=(ImageView)findViewById(R.id.ig1);
t1=(TextView) findViewById(R.id.t1);
ig1.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (v.getId()) {
case R.id.ig1:
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
touchx = event.getX();
touchy = event.getY()+210;
t1.setText(""+touchy);
case MotionEvent.ACTION_MOVE:
mx = (int) (event.getRawX() - touchx);
my = (int) (event.getRawY() - touchy);
ig1.layout(mx,my,ig1.getWidth()+mx,ig1.getHeight()+my);
case MotionEvent.ACTION_UP:
}}
return true;
}
}

相關文章:

[Android] Android 程式設計教學

本網站https://kk665403.pixnet.net/內之全部圖文,Saioyan梟夜所有,非經本人同意不得將全部或部分內容轉載於任何形式之媒體
Copyright © 2021 Saioyan. All rights reserved.
版權所有© 2021 Saioyan梟夜

留言
avatar-img
Saioyan的沙龍
34會員
908內容數
贊助我 https://vocus.cc/pay/donate/@kk665403?donateSourceType=exclusiveLink
Saioyan的沙龍的其他內容
2018/10/17
關於Canvas和Paint的相關設定可以看這篇: Canvas/Paint 示範 XML <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="h
Thumbnail
2018/10/17
關於Canvas和Paint的相關設定可以看這篇: Canvas/Paint 示範 XML <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="h
Thumbnail
2018/10/17
此篇只使用霍夫曼圓公式找圓 Bitmap圖片取得方法請看這篇: Bitmap圖片繪製篇 OPENCV安裝請看這篇: OPENCV安裝 示範 JAVA Bitmapp = ((BitmapDrawable) ig.getDrawable()).getBitmap();//取得Bitmap
Thumbnail
2018/10/17
此篇只使用霍夫曼圓公式找圓 Bitmap圖片取得方法請看這篇: Bitmap圖片繪製篇 OPENCV安裝請看這篇: OPENCV安裝 示範 JAVA Bitmapp = ((BitmapDrawable) ig.getDrawable()).getBitmap();//取得Bitmap
Thumbnail
2018/10/17
首先要準備一個不超過1MB的音頻檔案 在res裡面新增一個資料夾放置 接著就進入Code的環節,以下CODE請自行修改載入的音頻檔案 示範 XML <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.
Thumbnail
2018/10/17
首先要準備一個不超過1MB的音頻檔案 在res裡面新增一個資料夾放置 接著就進入Code的環節,以下CODE請自行修改載入的音頻檔案 示範 XML <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.
Thumbnail
看更多