我有一个带有a RelativeLayout和私有类的活动,它扩展了SimpleOnScaleGestureListener.在onScale收听者的方法中,我想放大/缩小整个布局(用户看到的一切),用户传播/捏住他的手指.
我希望布局的更改不是永久性的,即当展开/捏合手势结束时,我希望布局回到最初的位置(任何重置都可以在onScaleEnd方法中完成)SimpleOnScaleGestureListener例如).
我试图通过调用来实现它setScaleX和setScaleY上RelativeLayout,也使用ScaleAnimation.两者都没有导致平滑缩放(或者任何可以称为缩放的东西).甚至可以放大/缩小RelativeLayout?
我留下的唯一想法是从缓存中读取屏幕截图并将其作为ImageView整个布局的顶部并通过此图像放大/缩小setImageMatrix.但是,我不知道如何实现这一点.
May布局还包含片段的容器,该片段在应该可以进行缩放时为空.在onScaleEnd手势中,片段被放入其容器中(已经实现并且正常工作).这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_pinch"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff" >
<!-- Layout containing the thumbnail ImageViews -->
<LinearLayout
android:id="@+id/thumbnail_group_pui"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="horizontal" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/tn_c1"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/tn_c2"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/tn_c3"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/tn_c4"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/tn_c5"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/tn_c6"/>
<ImageView …Run Code Online (Sandbox Code Playgroud) 我正在隐藏一个视图setVisibility(View.INVISIBLE).稍后,当我尝试通过不同的方法再次显示视图时,setVisibility(View.VISIBLE)我得到以下异常
03-28 01:32:05.450: E/AndroidRuntime(20895): FATAL EXCEPTION: main
03-28 01:32:05.450: E/AndroidRuntime(20895): java.util.ConcurrentModificationException
03-28 01:32:05.450: E/AndroidRuntime(20895): at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
03-28 01:32:05.450: E/AndroidRuntime(20895): at java.util.HashMap$KeyIterator.next(HashMap.java:823)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:946)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:948)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:948)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:948)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:948)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:948)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.view.ViewRoot.handleDragEvent(ViewRoot.java:3027)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.view.ViewRoot.handleMessage(ViewRoot.java:2185)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.os.Handler.dispatchMessage(Handler.java:99)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.os.Looper.loop(Looper.java:132)
03-28 01:32:05.450: E/AndroidRuntime(20895): at android.app.ActivityThread.main(ActivityThread.java:4028) …Run Code Online (Sandbox Code Playgroud) 我有一个HorizontalScrollView包含a LinearLayout,其中包含几个FrameLayouts.每个都FrameLayout包含一个的布局Fragment.现在我正在尝试获取视图,即FrameLayout当前可见或焦点在视图内HorizontalScrollView.只要我有焦点的视图,我就可以得到它的索引LinearLayout.
我尝试了以下,但没有任何作用:
FrameLayouts 返回false我还可以LinearLayout通过根据每个孩子的当前X位置进行计算来确定哪个孩子有焦点.但是,呼叫getX()每个孩子总是返回"0.0".
有没有人知道如何获得焦点的视图(甚至更好的是它的索引LinearLayout)?