相关疑难解决方法(0)

Animator和动画有什么区别?

看起来动画动画师都允许我在对象上设置属性(位置,不透明度,缩放,旋转等)的动画,而我很难区分两者的用例.我什么时候应该使用动画师而不是动画,反之亦然?

android android-animation

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

Android获取屏幕尺寸已弃用?

嘿我需要在我的应用程序中获得屏幕的宽度.该应用程序将在2.1及更高版本上运行.我已将其设置为如下所示.该方法已弃用,我应该可以使用getSize或其他方式.但问题是:这适用于3.0+和4.0+等Android版本,还是会让应用程序崩溃.我之前在线程中使用了一个弃用的方法,它使应用程序在冰淇淋设备上崩溃.下面的方法会起作用吗?

 Display display = getWindowManager().getDefaultDisplay(); 
     int width = display.getWidth();
     int height = display.getHeight();
Run Code Online (Sandbox Code Playgroud)

编辑:

我试过了getSize,但我没有让它工作:

  Display display = getWindowManager().getDefaultDisplay();
      Point size = new Point();
      display.getSize(size);
      int width = size.x;
      int height = size.y;
Run Code Online (Sandbox Code Playgroud)

size android deprecated

14
推荐指数
2
解决办法
3万
查看次数

在缩放时更改ImageView的大小

我正在使用chrisbanes PhotoView来实现捏缩放..图像缩放捏和双击但我无法看到我的图像在变焦时拉伸到全屏...缩放它看起来图像放大到框内部分图像消失在缩放...我如何实现图像缩放,以便在缩放时图像的高度增加?我正在使用NetworkImageView(Volley库).

NetworkImageView imageView;
 PhotoViewAttacher mAttacher;

                imageView = (NetworkImageView) mImgPagerView.findViewById(R.id.imageitem);

                mAttacher = new PhotoViewAttacher(imageView);
Run Code Online (Sandbox Code Playgroud)

NetworkImageView.java(Volley库)

     import android.content.Context;
        import android.graphics.Bitmap;
        import android.text.TextUtils;
        import android.util.AttributeSet;
        import android.widget.ImageView;
        import com.android.volley.toolbox.ImageLoader.ImageContainer;

public class NetwrokImageView extends ImageView {
    /** The URL of the network image to load */
    private String mUrl;
    /**
     * Resource ID of the image to be used as a placeholder until the network image is loaded.
     */
    private int mDefaultImageId;
    /**
     * Resource ID of the image to be used if …
Run Code Online (Sandbox Code Playgroud)

android image-zoom imageview pinchzoom

10
推荐指数
1
解决办法
9241
查看次数

如何模仿Lollipop的手机应用程序,在可滚动内容之前调整上层项目的大小?

背景

在Lollipop的手机应用程序中,当您到达"最近"或"联系人"选项卡,并且您尝试滚动时,首先发生的事情是调整上部区域的大小,其中包括最近的事件和搜索框,如下所示:

在此输入图像描述

如果RecyclerView上有超过3个项目,只要上部区域可以缩小到最小尺寸,RecyclerView就不会向下滚动.

向上滚动也是如此:只要上部区域没有完全放大,RecyclerView就不会向上滚动.

问题

我找不到实现此功能的最佳方法.

更具体地说,我对上部区域的大小调整有一个问题,因此它将在Lollipop上运行时一样平滑.

为了简化,我只需要调整屏幕的一部分,而不是手机的应用程序("最近的事件"和搜索框)上显示的2.

我试过的

我尝试过多种方法:

  1. 使RecyclerView变得像整个屏幕一样大,同时拥有一个假的,大的空头.当我滚动时,我还将"translationY"设置为顶部的真实内容.这有一个问题,显示滚动条作为上部区域的一部分(我想在正确的位置显示滚动条).此外,由于您必须处理其他页面的RecyclerViews滚动值,因此它非常复杂.这是一个类似于某些第三方库的解决方案,例如这个(在这里我使用了布局而不是ImageView,但代码几乎相同).

  2. RecyclerView位于上方区域下方,滚动会更改上方区域的layoutParams,类似于我在此帖子中所做的操作.

  3. 与2相同,但我更改了视图的scaleY,而不是更改LayoutParams.

对于#2和#3,问题是在某些情况下,只要我在某个值中滚动+ Y的事件,我也会得到相同值的-Y滚动(反之亦然) ,使调整大小效果的处理"跳跃"(上下,即使用户滚动得很好).

我猜测为什么会这样,当我移动RecyclerView时,用户做的下一个事件与原始事件完全不同,因为我改变了RecyclerView的定位方式或大小.

我尝试过使用setOnTouchListener(甚至与GestureDetectorCompat一起)和setOnScrollListener.所有这些都引起了同样奇怪的问题.

这个问题

我该如何解决这个问题?为什么会发生,为什么不总是发生?


编辑:我试图改变#2,所以我不会处理RecyclerView的触摸事件,而是处理其容器的触摸事件(一些LinearLayout).由于某种原因,容器没有响应触摸事件,所以我用RelativeLayout替换它,并在该布局内的所有内容上放置一个视图,这将响应触摸事件(并相应地更改上部区域).这很有效,但是在需要时我无法将事件进一步传递给子视图.

我认为最好的事情是自定义RecyclerView(扩展它)触摸处理.也许添加一个用于滚动的监听器,当RecyclerView即将滚动时,它会询问它是否正常,如果没有,它将不会尝试滚动直到触发事件被触发并重置其状态.

android resize material-design android-recyclerview

10
推荐指数
1
解决办法
1197
查看次数

如何在android上正确拖动视图

似乎有很多关于如何在android上使用拖动视图的解决方案.

然而,它们要么太慢,要么是马车.

一个已知的解决方案是使用framelayout,视图只需在使用OnTouchListener移动时更改其layoutParams,如下所述:http://www.anddev.org/novice-tutorials-f8/android-drag-and-drop -of-normal-views-not-bitmaps-t13404.html 但是,如果视图是imageView,当到达framelayout的最右侧(或最底部)时,图像会缩小.

另一种可能的解决方案是使用画布来显示拖动的内容,如下所述:http: //www.anddev.org/basic_drag_and_drop-t3095.html 但是,我不确定如何将它用于复杂视图.

没有人知道一个很好的解决方案,一个让拖累视图的大小保持不变,不管它是在它的容器?

请帮我 .

android drag imageview layoutparams android-framelayout

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