마이크로 신 안 드 로 이 드 액 티 비 티 드래그 종료 분석
<style name="AppTheme" parent="android:Theme.Light">
<item name="android:windowNoTitle">trueitem>
<item name="android:windowBackground">@color/shdowitem>
<item name="android:windowIsFloating">trueitem>
style>
<color name="shdow">#dd000000color>
2、 xml。
xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/frame_root" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal">
<View android:id="@+id/back_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:background="@color/white" />
FrameLayout>: View ( )
3. Activity 재 작성 dispatchTouchEvent 방법/** * , */
View root
= findViewById(R.id.frame_root);
root = root.getRootView();
DisplayMetrics displayMetrics=getResources().getDisplayMetrics(); ct = displayMetrics.widthPixels / 2; findViewById(R.id.back_view).setLayoutParams(new FrameLayout.LayoutParams(displayMetrics.widthPixels,displayMetrics.heightPixels));
/** * */ float x; /** * , */ boolean drag; /** * ( onCreate ) */ int ct; @Override public boolean dispatchTouchEvent(MotionEvent ev) { /** * 10 * */ if (ev.getAction() == MotionEvent.ACTION_DOWN && ev.getX() < 10) drag = true; if (drag) { switch (ev.getAction()) { case MotionEvent.ACTION_UP: if (root.getTranslationX() > ct) {// if (root.getTranslationX() >= ct * 2) {// finish(); } else {// , root.animate().translationX(ct * 2).setDuration(100).withEndAction(new Runnable() { @Override public void run() { finish(); } }); } } else {// root.animate().translationX(0).setDuration(500).translationY(0); } drag = false; break; case MotionEvent.ACTION_MOVE: float xx = root.getTranslationX() + (ev.getX() - x); if (xx >= 0) {// root.setTranslationX(xx); } break; } x = ev.getX(); // return false; } return super.dispatchTouchEvent(ev); }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.