Articles of android view

RecyclerView项目与同一活动中的CollapsingToolbar之间的共享元素animation

在我的应用程序中,我有一个通过RecyclerView适配器显示的项目列表。 如果我单击某个项目,则会在同一个Activity中启动一个新的Fragment 。 我的项目的布局和我的活动看起来(简化)像这样: 活动布局: 物品布局: 现在,如果通过项目单击启动新片段,我想将项目图像的animation添加到CollapsingToolbarLayout的ImageView 。 我阅读了有关ShareElementanimation的文章 ,但这不适用于此,因为这不是真正的ShareElementanimation。 目标ImageView不在新片段中,我也不必开始新活动(我只在新Fragment显示目标ImageView )。 那么在这种情况下如何创建这样的animation呢?

CoordinatorLayout中的ViewPager涵盖了API> = 21的其他视图

我正在使用Google新设计支持库中的新CoordinatorLayout 。 我有以下布局: 问题是ViewPager总是覆盖在API >= 21的FloatingActionMenu之上,是否有解决方法? 我尝试使用view.bringToFront()来解决这个问题,但没有运气。 我也移动了Views ,但仍然没有运气。 我试过的事情: 在FABMenu移动AppBarLayout 在LinearLayout移动FABMenu 没有运气。 有没有经历过类似的事情?

如何将ObjectAnimator重置为初始状态?

我想用scaleX和scaleY振动一个视图,我正在使用这个代码,但问题是有时视图没有正确重置,并显示应用了缩放…. 我希望当animation结束时,必须看到视图的原始状态 这是代码: ObjectAnimator scaleX = ObjectAnimator.ofFloat(view, “scaleX”, 1f, 0.9f); scaleX.setDuration(50); scaleX.setRepeatCount(5); scaleX.setRepeatMode(Animation.REVERSE); ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, “scaleY”, 1f, 0.9f); scaleY.setDuration(50); scaleY.setRepeatCount(5); scaleY.setRepeatMode(Animation.REVERSE); set.play(scaleX).with(scaleY); set.start(); 谢谢

视图数量有限吗?

我想弄清楚Android布局和视图的主要有效性问题。 我现在正在做研究,但也许有人已经有了答案。 我有一个动态填充视图的RelativeLayout 。 基本上,应用程序以XML格式加载论坛post,然后呈现讨论树,以便每条消息都显示在自己的视图组中。 我决定不使用WebView因为我想实现一些客户端函数,这些函数应该在自定义视图上比在HTML页面上更容易。 然而,这种方法有一个重大缺陷:它很重。 第一个问题(我已经解决了)是嵌套视图 。 现在这不是问题,我的布局几乎是平的,所以最大深度是10-12(从最顶级的PhoneWindow $ DecorView算起,实际深度取决于数据)。 现在我已达到下一个限制,该限制以某种方式与视图的资源消耗相关联(或由其引起)。 加载数据后,应用程序挂起一段时间来构建布局(创建视图并用数据填充它们),挂起时间似乎与数据大小成线性关系; 如果数据足够大,视图将永远不会出现(最终系统建议关闭应用程序,因为它没有响应)。 现在的问题是: 内存消耗是否显着依赖于视图类? 换句话说, Button和TextView或ImageView之间有什么主要区别吗? 我可以将点击处理程序附加到任何视图,因此它们的使用差别不大。 背景图像会影响性能吗? 如果在N视图中设置相同的图像,它会使布局重 N倍吗? (我知道这个问题可能看起来很傻但是无论如何。) 9个补丁图像是否明显比普通图像重? 更好的是:创建N视图,其中每个视图都有一些背景图像,或者制作一个宽度为N倍且具有重复背景的视图? 给定一些布局,首先应该优化什么:总视图数,嵌套级别或其他什么? 最有趣的。 是否可以衡量或至少估算活动及其观点所消耗的资源? 如果我做出一些改变,我怎么能看到我走对了路? UPDATE 感谢User117,我上面提到的一些问题现在已经回答了。 我已经使用了Hierarchy Viewer并优化了我的布局:与之前相比,现在整体视图数量减少了两倍,嵌套也减少了。 但是,该应用程序仍然挂在一个大型论坛post上。 更新2 我已将调试器连接到我的设备,发现应用程序内存不足。 但对我来说非常意外的是,在填充布局后发生错误。 顺序如下: 我的所有观点都被添加了。 我们可以看到它们被添加时会略微减速。 几秒钟内几乎没有任何事情发生。 在此期间,日志中会生成一些信息消息,它们是相同的: [global] Loaded time zone names for en_US in XXXXms ,唯一的区别是毫秒数。 生成内存不足错误消息: [dalvikvm-heap] […]

ListView中的YouTubePlayerFragment与AppCompatActivity错误

我正在开发一个Android应用程序。 在这个应用程序中,我希望youtubevideo播放ListView youtube播放器或AppCompatActivity RecyclerView 。 我使用的是YouTubeBaseActivity ,但是我需要AppCompatActivity 。 所以我使用YouTubePlayerFragment或YouTubePlayerSupportFragment来解决我的问题。 当我使用带有AppCompatActivity YouTubePlayerFragment ,它运行良好。 但是我想在ListView使用它,但是我遇到了以下错误。 android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class fragment Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class fragment Caused by: java.lang.IllegalArgumentException: Binary XML file line #8: Duplicate id 0x7f0b0063, tag null, or parent […]

foo.setVisibility(View.GONE)和parent.removeView(foo)之间的区别

如果foo是一个视图, foo.setVisibility(View.GONE)和fooParent.removeView(foo)之间有什么区别? 在两个语句之前和之后,我对视图的内存消耗特别感兴趣。 可见性设置为GONE的视图是否会占用内存?

是否可以拍摄视图的屏幕截图,而不显示视图?

简短的问题: 假设我有某种布局文件并且我给它充气(或者在代码中使用正常的CTOR)。 我希望在某些限制(给定的宽度和高度,甚至比屏幕更大)下看一下“截图”(位图),而不是显示膨胀的视图。 我不希望将视图添加到屏幕上的任何位置,但仅为此目的而保留它,并且可能稍后添加它。 这样的事情可以用于轻松操纵如何放置东西。 例如,我可以使用一个布局,将图像放在其中,以便它周围有一个框架。 这样的事情可能吗? 如果是这样,怎么样?

如何将布局视图保存为图像或pdf到android中的SD卡?

在我的应用程序中,我有一个客户详细信息的视图,我想将该视图保存为图像或PDF到SD卡然后通过第三方应用程序打印视图(否则可以直接通过打印机打印该视图)。 我不知道如何将视图保存为图像或PDF。 任何人都知道请帮我解决这个问题吗?

使用Universal Image Loader在GridView中加载图像

我正在使用Universal Image Loader 1.8.6库来加载从web获取的dinamically图像。 ImageLoaderConfiguration配置如下: ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) .memoryCacheExtraOptions(480, 800) // default = device screen dimensions .threadPoolSize(3) // default .threadPriority(Thread.NORM_PRIORITY – 1) // default .denyCacheImageMultipleSizesInMemory() .memoryCacheSize(2 * 1024 * 1024) .memoryCacheSizePercentage(13) // default .discCacheSize(50 * 1024 * 1024) .discCacheFileCount(100) .imageDownloader(new BaseImageDownloader(getApplicationContext())) // default .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default .writeDebugLogs() .build(); 和DisplayImageOptions配置是: DisplayImageOptions options = new […]

Android – View.getResources()和View.getContext()之间的区别.getResources()

我想了解使用View.getResources()和View.getContext().getResources()的真正区别。 例如,我必须从资源中为TextView设置颜色。 view.setTextColor(view.getResources().getColor(R.color.Blue)); 要么 view.setTextColor(view.getContext().getResources().getColor(R.color.Blue)); 两者都有效,但根据文件…… View.getResources() – 返回与此视图关联的资源。 View.getContext() – 返回视图运行的上下文,通过它可以访问当前主题,资源等。 欢迎你的想法……