相关疑难解决方法(0)

如何扩展视图的触摸区域

我有一个垂直的LinearLayout.它应该作为快速跳跃杆.因此宽度非常小,高度几乎匹配整个屏幕高度.当我触摸它并在里面移动时,一切都很好.这意味着,我onTouchEvent()被召唤,我可以得到(并跟随)手指的位置.但由于条形图不是很宽,因此用户可以轻松地漂移到该视图之外.因此,即使在视图之外,也必须让用户继续运动.事实上同样的事情就像ListView一样.

我不知道为什么ListViewonTouchEvent()是,即使外面的时候叫ListView,但不是在我的情况LinearLayout.我把它追溯到了dispatchTouchEvent().这里的情况是相同的,即总是调用方法ListView(即使在外面),但在LinearLayout(在外面移动时)的情况下也不需要.

如果有人能给我一个提示,我会很高兴.非常感谢!

贝恩德

android extend touch touch-event

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

Android:放置在父视图外部时,缩放EditText Android中的问题以及childView的get Touch事件

我的问题与android功能相关,缩放由多个子视图组成的父级.

ZoomView-> ParentView - > [多个childViews]

我正在开发一个Demo项目来缩放子视图并无限地平移.缩放可以根据需要完美地工作.

问题1: 但是如果视图中有一个EditText,我试着放大,那么我面临下面的问题.

  1. 放大文字是模糊的
  2. 指向文本工作正常但翻译文本翻译速度非常快,因为它的翻译乘以scalingFactor
  3. 选择文本也存在上述问题.

    如果不清楚,请尝试运行演示以了解问题

我尝试了两种缩放View内容的方法,但这两种方法都给出了同样的问题.

  • 通过缩放父类的Matrix.class的MotionEvent来缩放画布并转换MotionEvent.
  • 设置包含childViews的Parent的ScaleX和ScaleY

我的演示项目的层次结构缩放视图(UML图)

在此输入图像描述

基本问题是当视图缩放到某个值时将光标放在正确的位置.

我已经提到了这个帖子

问题2: 如果我有一个childView这是在父视图移动,然后缩小,如果childView翻译的事件不再捕捉parentView的范围和子视图外后成为碰不得我一直在使用TouchDelegate尝试,但我不我知道如何扩展parentView触摸区域.代码 参考线程

scale为1,区域触摸区域等于parentView和ZoomView的屏幕

但是当比例因子不等于1时,父项的触摸区域(zoomIn)小于显示的ZoomView

黄色 - 父查看触摸区域

Cyan-ZoomView触摸区域

Green-ChildView触摸区域

ScreenShot在这里

在此输入图像描述

注意: 这是我关于StackOverflow的第一个问题所以请建议是否需要进行一些编辑.

android view scale android-layout android-edittext

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

如何使用多个TouchDelegate

我有两个ImageButtons,每个都在RelativeLayout中,这两个RelativeLayout在另一个RelativeLayout中,我想为每个ImageButton设置TouchDelegate.如果通常我将TouchDelegate添加到每个ImageButton并且它的父RelativeLayout然后只有一个ImageButton正常工作,另一个不扩展它的点击区域.因此,PLease帮助我了解如何在两个ImageButtons中使用TouchDelegate.如果不可能,那么扩展视图点击区域的有效方法是什么?提前致谢 ........

这是我的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/FrameContainer"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:layout_alignParentLeft="true"
    android:id="@+id/relativeLayout3" android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <RelativeLayout android:layout_alignParentLeft="true"
        android:id="@+id/relativeLayout1" android:layout_width="113dip"
        android:layout_height="25dip">
        <ImageButton android:id="@+id/tutorial1"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:background="@null" android:src="@drawable/tutorial" />
    </RelativeLayout>
    <RelativeLayout android:layout_alignParentLeft="true"
        android:id="@+id/relativeLayout2" android:layout_width="113dip"
        android:layout_height="25dip" android:layout_marginLeft="100dip">
        <ImageButton android:id="@+id/tutorial2"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:background="@null" android:src="@drawable/tutorial"
            android:layout_marginLeft="50dip" />
    </RelativeLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我的Activity类:

import android.app.Activity;
import android.graphics.Rect;
import android.os.Bundle;
import android.view.TouchDelegate;
import android.view.View;
import android.widget.ImageButton;
import android.widget.Toast;

public class TestTouchDelegate extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) …
Run Code Online (Sandbox Code Playgroud)

layout android view imagebutton

10
推荐指数
2
解决办法
6359
查看次数

在应用程序生命周期的什么时候可以/应该使用布局测量?

关于这个问题有很多问题,但大多数都太专业了,不能回答我的问题.

我有一个GoogleMap我告诉它适合它的相机到某些界限.也许不是很令人惊讶,我收到一个错误:

java.lang.IllegalStateException: Map size should not be 0. Most likely, layout has not yet occured for the map view.

所以让我们把这个问题抽象给任何人View.

这个'布局'事件何时实际发生?onMeasure()例如,未显示在" 活动生命周期"中.何时可以安全地调用我需要布局的方法?

android view

7
推荐指数
2
解决办法
3115
查看次数

如何增加控件的触控区域(ToggleButton)?

我有一个ToggleButton.我希望有更多的地方可以点击这个按钮.如果我添加layout_width,layout_height等形象很糟糕.我也试过使用,android:padding但它没有帮助我.

为方便用户需要它.

在此输入图像描述

android android-widget android-layout

6
推荐指数
1
解决办法
9592
查看次数