Articles of android

在AppBarLayout中滚动第二个孩子

我试图获得这种效果,如果用户滚动一个RecyclerView一个布局向上滚动与回收站一起消失在Toolbar后面。 使用CoordinatorLayout可以获得类似的行为,这可以通过设置来实现 app:layout_behavior="@string/appbar_scrolling_view_behavior" 在说的回收,和做 <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_scrollFlags="scroll|enterAlways"/> </android.support.design.widget.AppBarLayout> 另外,如果我把第二个孩子放到AppBarLayout ,并且设置了app:layout_scrollFlags ,那么获得的效果是相同的,两个版面都和Recycler一起滚动。 我想要实现的是保持第一个孩子(工具栏)的位置固定,并让第二个孩子( LinearLayout )滚动和隐藏在工具栏后面。 不幸的是我无法做到这一点。 没有使用第三方零件库可能吗? 在此先感谢,并为我的英语感到抱歉。

select后的Android Web视图文件select器没有任何反应

当我点击“select文件”一个文件浏览器出现,我可以select我想select的文件/图像。 但是当我select一个文件后,文件select器closures,没有任何反应。 我只能点击“select文件”一次,因为它不再显示。 它只有在应用程序重新启动后才显示出来。 控制台日志 01-15 11:56:44.749 22152-22152/browser.x.xws.xbrowser D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN 01-15 11:56:46.549 22152-22152/browser.x.xws.xbrowser D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN 01-15 11:56:46.859 22152-22183/browser.x.xws.xbrowser V/MediaPlayer-JNI: release 01-15 11:56:46.859 22152-22183/browser.x.xws.xbrowser V/MediaPlayer: setListener 01-15 11:56:46.859 22152-22183/browser.x.xws.xbrowser V/MediaPlayer: disconnect 01-15 11:56:46.869 22152-22183/browser.x.xws.xbrowser V/MediaPlayer: destructor 01-15 11:56:46.869 22152-22183/browser.x.xws.xbrowser V/MediaPlayer: disconnect 01-15 11:56:56.439 22152-22152/browser.x.xws.xbrowser D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN 01-15 11:56:56.559 22152-22152/browser.x.xws.xbrowser D/cr_Ime: [ImeAdapter.java:571] focusedNodeChanged 01-15 […]

什么是Android API获取连接的audio设备列表?

我使用下面添加的代码来获取Android设备的连接audio设备。 使用AudioManager API方法getDevices()并获得与耳机,扬声器,耳机等连接设备的结果。 但是这个getDevices()方法从android api level 23(Marshmallow)开始是可用的。 但是我的应用程序应该支持api level 21(Lollipop)。 请任何人都可以让我知道替代API获取Android设备可用的audio设备。 代码与API级别23一起使用。 AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { AudioDeviceInfo[] adi = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS); } 请帮助我提供一种方法来获取运行Android操作系统版本低于棉花糖(API级别23)连接的audio设备。

NotificationManager getActiveNotifications()用于较旧的设备

我希望能够根据需要从我的Android应用程序获取主动通知。 (其实我只是需要知道是否有任何)我一直在寻找这种行为,似乎,我只有两个select: NotificationManager.getActiveNotifications()正是我所需要的,但只能从SDK 23或使用NotificationService但我真的不喜欢这个解决scheme,因为我必须提供我的应用程序的权限读取所有通知,这绝对是一个矫枉过正。 有没有人知道任何行为像NotificationManager.getActiveNotifications()并不需要SDK> = 23的解决scheme? 提前致谢!

将属性传递给复合视图中的子视图

我试图做一个复合视图,从而我可以在XML中设置属性,并将它们传递给复合视图中的孩子。 在下面的代码中,我想设置android:text并将其传递给EditText 。 这是可能的,而不必将每个属性设置为自定义属性? Activity.xml: <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content"/> <com.app.CustomLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:text="child_view_text" /> </FrameLayout> custom_view.xml: <merge xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.TextInputLayout android:id="@+id/textInputLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.design.widget.TextInputLayout> </merge> CustomView.java: public ValidationTextInputLayout(Context context, AttributeSet attrs) { super(context, attrs); init(context, attrs); } private void init(Context context, AttributeSet attrs) { View v = inflate(context, R.layout.custom_view, this); […]

使用Android Camera2设置video拍摄的亮度/对比度

按照本指南,我使用Camera2 API制作了一个video捕获应用程序, 是否有条款以编程方式更改video的亮度/对比度/曝光设置? 我试图捕捉一些低光照的录像,我希望增加曝光度。 这里的文档似乎只适用于静态图片。 任何这样的video采集方式,使用Camera2 API?

如何使用Android上的Gmail客户端API发送带有大附件的电子邮件

我试过以下代码来创build具有大附件的多部分电子邮件: Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); MimeBodyPart mimeBodyText = new MimeBodyPart(); mimeBodyText.setHeader("Content-Type", "text/html; charset=\"UTF-8\""); mimeBodyText.setContent(body, "text/html"); Multipart mp = new MimeMultipart(); mp.addBodyPart(mimeBodyText); if (attachments != null && attachments.size() > 0) { for (Uri uri : attachments) { MimeBodyPart mimeBodyAttachment = new MimeBodyPart(); String fileName = UriUtils.getFileName(uri, context); String mimeType = […]

Android,NSD / DNS-SD:NsdManager不可靠的发现和IPparsing

在过去的几周里,Android的NSD实现让我发疯: 从用户的angular度来看,会出现以下问题: 设备以完全不确定的方式相互发现。 如果我启动基于NsdManager的应用程序,则只要涉及到两个设备,就可以或多或less地工作。 如果第三个设备join,它很less会发现前两个 ,而前两个设备不会看到第三个。 如果我退出应用程序(它们正常地取消注册NSD侦听器)并以不同的顺序重新启动它们,则发现模式不完全相同,但是类似。 在我的家庭networking中,被发现设备的IP分辨率基本上按预期工作。 在工作中,有时甚至只使用两个设备(A和B), 设备A将用A的IP地址和B的端口parsing设备B的服务,反之亦然。 所以不知何故,IP地址和服务名称似乎混在一个较低的级别(可能是NsdManager)。 我现在已经提交了有关Google代码的错误报告( https://code.google.com/p/android/issues/detail?id=201314&thanks=201314&ts=1455814995 )。 我也在这里张贴这个,希望得到更多的反馈; 也许我在我的Nsd helper类中有错误的东西。 首先,经过无尽的debugging,现在我已经在logcat中发现了一些提示,说明Android的底层NsdService本身可能出现故障,而MDnsDS似乎正常工作。 但是我不确定… 下面是一些说明问题的日志输出(为了可读性过滤了一些消息): 02-18 16:57:02.327: D/NsdService(628): startMDnsDaemon 02-18 16:57:02.327: D/MDnsDS(187): Starting MDNSD 02-18 16:57:02.529: D/NsdService(628): New client listening to asynchronous messages 02-18 16:57:02.529: D/NsdService(628): New client, channel: com.android.internal.util.AsyncChannel@1fa188ce messenger: android.os.Messenger@cca33ef 02-18 16:57:02.532: D/NsdService(628): Register service 02-18 16:57:02.532: D/NsdService(628): […]

Android UItesting与浓咖啡的指纹

我有一个Android指纹实现工作,我正在寻找与Espresso添加UItesting。 我无法find解决方法的一个问题是如何模拟手指的扫描。 有一个adb命令adb -e emu finger touch应该在模拟器上工作。 任何想法如何整合这样的意式咖啡?

禁用云服务中testing的animation(以编程方式?)

目前我们可以看到两个主要的云testing服务: Amazon AWS设备场 Google云端testing实验室 不支持espresso开发人员build议的停用设备animation: https : //google.github.io/android-testing-support-library/docs/espresso/setup/index.html#setup-your-test-environment 亚马逊实际上禁用了窗口animation,但这还不够,因为片状的最大来源是animation师。 谷歌承认这个问题,但修复它需要一些时间。 同时,如何禁用Animatoranimation而无需访问设备?