android实现图标拖动实例
时间: 2023-06-12 16:07:40 浏览: 78
以下是一个简单的 Android 示例,演示如何在应用程序中实现图标拖动:
1. 建立一个新的 Android 项目。
2. 在布局文件中添加一个 ImageView 控件,用于显示图标。
```xml
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon"
android:layout_marginTop="50dp"
android:layout_marginLeft="50dp"/>
```
3. 在 MainActivity 中设置 ImageView 可以拖动。
```java
public class MainActivity extends AppCompatActivity implements View.OnTouchListener {
private ImageView icon;
private int xDelta;
private int yDelta;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
icon = (ImageView) findViewById(R.id.icon);
icon.setOnTouchListener(this);
}
@Override
public boolean onTouch(View view, MotionEvent event) {
final int x = (int) event.getRawX();
final int y = (int) event.getRawY();
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view.getLayoutParams();
xDelta = x - lParams.leftMargin;
yDelta = y - lParams.topMargin;
break;
case MotionEvent.ACTION_MOVE:
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view
.getLayoutParams();
layoutParams.leftMargin = x - xDelta;
layoutParams.topMargin = y - yDelta;
view.setLayoutParams(layoutParams);
break;
}
return true;
}
}
```
4. 运行应用程序,并尝试拖动 ImageView。
以上示例演示了如何在 Android 应用程序中实现图标拖动。在实际应用程序中,您可能需要更多的逻辑来处理拖动,如限制拖动范围、拖动时更改图标、拖动时显示边界等。