小编Sch*_*pfe的帖子

Android - 使用spread/pinch放大/缩小RelativeLayout

我有一个带有a RelativeLayout和私有类的活动,它扩展了SimpleOnScaleGestureListener.在onScale收听者的方法中,我想放大/缩小整个布局(用户看到的一切),用户传播/捏住他的手指.

我希望布局的更改不是永久性的,即当展开/捏合手势结束时,我希望布局回到最初的位置(任何重置都可以在onScaleEnd方法中完成)SimpleOnScaleGestureListener例如).

我试图通过调用来实现它setScaleXsetScaleYRelativeLayout,也使用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)

android android-animation android-layout

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

Android - setVisibility导致java.util.ConcurrentModificationException

我正在隐藏一个视图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)

android android-layout

8
推荐指数
2
解决办法
2325
查看次数

Android - Horizo​​ntalScrollView - 获取焦点视图(或其索引)

我有一个HorizontalScrollView包含a LinearLayout,其中包含几个FrameLayouts.每个都FrameLayout包含一个的布局Fragment.现在我正在尝试获取视图,即FrameLayout当前可见或焦点在视图内HorizontalScrollView.只要我有焦点的视图,我就可以得到它的索引LinearLayout.

我尝试了以下,但没有任何作用:

  • Horizo​​ntalScrollView.findFocus() - 返回null
  • LinearLayout.findFocus() - 返回null
  • LinearLayout.getFocusedChild() - 返回null
  • FrameLayout.hasFocus() - 为所有FrameLayouts 返回false

我还可以LinearLayout通过根据每个孩子的当前X位置进行计算来确定哪个孩子有焦点.但是,呼叫getX()每个孩子总是返回"0.0".

有没有人知道如何获得焦点的视图(甚至更好的是它的索引LinearLayout)?

android android-layout android-scrollview android-scroll

4
推荐指数
1
解决办法
3557
查看次数