标签: android-gesture

在应用程序清单中设置 'android:enableOnBackInvokedCallback="true"' 中,未为应用程序启用 OnBackInvokedCallback 作为警告

我正在运行 Android 应用程序“Android-13”,在 Logcat 中我看到此警告,如何解决此问题?

OnBackInvokedCallback is not enabled for the application.
Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
Run Code Online (Sandbox Code Playgroud)

android-gesture gesture-navigation android-13

49
推荐指数
1
解决办法
7万
查看次数

android - 如何让按钮闪烁?

在代码中,是否有任何方法可以使按钮持续闪烁,然后在按下时停止闪烁?

android android-button android-gesture

41
推荐指数
2
解决办法
4万
查看次数

29
推荐指数
3
解决办法
5万
查看次数

在Gingerbread中水平滑动后不触发Actionbar的onNavigationItemSelected(int position,long itemId)

我已经使用导航模式实现了Tab视图和水平滑动视图(以更改选项卡)作为应用程序的列表.我正在使用ActionBarSherlock和TabPageIndicator.更改选项卡后,我使用片段重新加载内容.

在下拉微调器中,我有2个项目.每当活动重新加载或在Tabs上点击后,都会选择这些选项.

但是,如果执行滑动以选择其他选项卡,那么onNavigationItemSelected(int position,long itemId)将不会在Gingerbread版本中被触发:(我们在Gingerbread 2.3.6,2.3.3上测试了它.

logcat,我收到了这条warning消息"View:onTouchEvent:ViewFlags" is DISABLED

但是,它在ICS,Froyo等上运行得非常好.

非常感谢您的帮助.

以下是代码段:

public class MainPageActivity extends SherlockFragmentActivity implements
        ActionBar.OnNavigationListener {

    MenuItem menuItem;
    EditText searchText;
    public static Context mContext;
    public static DataAdapter dataAdapter;
    ArrayList<String> accountList;
    public static List<View> currentViewBeingChanged = new ArrayList<View>();

    public static LayoutInflater layoutInflater;
    public static String checktab = "running", nameComp;
    int isRefresh;
    public static boolean isAutoRefresh = true;
    public static ArrayList<String> listItems;
    public static boolean check;
    public static boolean isAtleastOnce = true, listToBeRefreshed …
Run Code Online (Sandbox Code Playgroud)

java flags android android-gesture actionbarsherlock

27
推荐指数
1
解决办法
1225
查看次数

在具有相同密度的不同Android设备上具有不同的fling(滑动)速度

我正在编写自己的图像查看器,使用户可以向左或向右滑动以查看下一个\上一个图像.我想根据投掷速度为图像变化设置动画.

为了检测一个手势和它的速度,我按照这个基本的手势检测,并按照接受的答案建议:

public class SelectFilterActivity extends Activity implements OnClickListener
{

    private static final int SWIPE_MIN_DISTANCE = 120;
    private static final int SWIPE_MAX_OFF_PATH = 250;
    private static final int SWIPE_THRESHOLD_VELOCITY = 200;
    private GestureDetector gestureDetector;
    View.OnTouchListener gestureListener;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        /* ... */

        // Gesture detection
        gestureDetector = new GestureDetector(this, new MyGestureDetector());
        gestureListener = new View.OnTouchListener() {
            public boolean onTouch(View v, MotionEvent event) {
                return gestureDetector.onTouchEvent(event);
            }
        };

    }

    class MyGestureDetector extends SimpleOnGestureListener {
        @Override …
Run Code Online (Sandbox Code Playgroud)

java android android-animation android-view android-gesture

21
推荐指数
3
解决办法
1万
查看次数

18
推荐指数
2
解决办法
1534
查看次数

如何在Android上实现"双指拖动"手势?

我是Android开发的新手,正在为盲人开展一个无障碍研究项目(Jelly Bean API 17级项目).我一直在试验一些手势,而且双指拖动手势实施起来非常困难.以下图片捕获了我实际需要的内容.

拖动手势

我希望盲人用户将两根手指水平拖动(屏幕上的任何位置),然后他将获得他/她在EditText中输入的文本的音频输出.同时根据两个手指在拖动时的距离,我们分别输出每个单词.(例如下面的例子)

示例:如果用户键入"今天是美好的一天"并将他的手指(x值)拖动(比方说)10个单位到左边我们输出"美好的一天"但是如果他拖动它说20个单位到左边我们输出"好"一天",对于30个单位到左"是一个美好的一天"等等.

我偶然发现它似乎检测到双指触摸:

TouchEvent(MotionEvent event)
Run Code Online (Sandbox Code Playgroud)

另外这个关于检测多个触摸的教程看起来很有希望,但是我需要它来处理触摸拖动,我不确定是否可以像这样实现.

任何新的建议来实现这个或指向可以帮助的教程将是伟大的!

在此先感谢,Adit

android android-layout android-gesture

12
推荐指数
1
解决办法
2万
查看次数

MotionEvent.getPointerCount()始终为1

我试图在我的应用程序中实现多点触控时,我以某种方式得到意想不到的结果.我永远不会获得多个指针的数据.我的手机上的多点触控确实有效,因为我可以使用GestureDetector捏缩放浏览器并检测捏合手势,但action=0 pointers=1无论我用多少手指触摸屏幕,下面的样本都会打印出来.

我需要在配置/ AndroidManifest或Activity创建中有什么东西

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    findViewById(R.id.ll1).setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            Log.d("TAG","onTouch action="+event.getAction()+" pointers="+event.getPointerCount());
            return false;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ll1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android multi-touch android-gesture

11
推荐指数
1
解决办法
5165
查看次数

如何从夹点中心缩放列表项

我正在开发一款适用于Android的简单书籍阅读器应用程序.我已经使用了listview.

我正在做的是将远程图像从服务器加载到我的Listview(使用毕加索库),并且工作正常.

我还想在我的Reader中缩放功能,我使用ZoomListView类来实现这一点.

public class ZoomListView extends ListView {
private static final int INVALID_POINTER_ID = -1;
private int mActivePointerId = INVALID_POINTER_ID;
private ScaleGestureDetector mScaleDetector;

private float mScaleFactor = 1.f;
private float maxWidth = 0.0f;
private float maxHeight = 0.0f;
private float mLastTouchX;
private float mLastTouchY;
private float mPosX;
private float mPosY;
private float width;
private float height;

public ZoomListView(Context context) {
    super(context);
    mScaleDetector = new ScaleGestureDetector(getContext(),
            new ScaleListener());
}

public ZoomListView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mScaleDetector = new …
Run Code Online (Sandbox Code Playgroud)

android listview android-gesture pinchzoom

11
推荐指数
1
解决办法
1221
查看次数

在Android画布上应用缩放效果后,缩放比例位置错误

首先,这是一个最初在这里提出的跟进问题,在Android中平移,缩放和缩放自定义的Canvas绘图视图

由于还没有答案,我终于使用android-gesture-detector解决了我的问题

应用缩放/缩放手势后,我发现,画布绘制坐标仍然指向旧位置(在应用缩放之前),而不是绘制完全相同的触摸坐标.基本上,在缩放或拖动画布后,我无法获得正确的画布坐标.

在缩放之前,

在此输入图像描述

缩小后,触摸点将绘制在之前的位置.我希望它能够在当前触摸位置上绘制,

在此输入图像描述

示例代码,

public class DrawingView extends View {

    private void setupDrawing() {

        mScaleDetector = new ScaleGestureDetector(getContext(), new ScaleListener());

        mgd = new MoveGestureDetector(ctx, mgl);
        sgd = new ScaleGestureDetector(ctx, sgl);
        rgd = new RotateGestureDetector(ctx, rgl);

}

class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
        @Override
        public boolean onScale(ScaleGestureDetector detector) {
            mScaleFactor *= detector.getScaleFactor();
            // Don't let the object get too small or too large.
            mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 5.0f));
            invalidate();
            return true;
        }
    }

    MoveGestureDetector.SimpleOnMoveGestureListener mgl = new …
Run Code Online (Sandbox Code Playgroud)

android android-canvas android-view android-gesture android-touch-event

11
推荐指数
1
解决办法
1280
查看次数