Articles of android support library

在FloatingActionButton上运行时设置layout_anchor

我正在尝试animation一个固定到我的AppBarLayout的android.support.design.widget.FloatingActionButton。 我可以在布局xml中设置好,它显示正常。 但是,我正在对此布局执行共享元素转换,并且在设置视图之前FAB正在显示。 我尝试将可见性设置为GONE和INVISIBLE但是如果layout_anchor在布局xml中设置,它们似乎被忽略了。 有没有办法解决? 我希望活动加载共享元素转换然后淡入我的FAB。 我只是无法在加载时隐藏FAB。 我可以在不使用layout_anchor的情况下完成它,但如果可能的话,我更愿意保留它。

Android V7支持库popup菜单

我正在尝试使用支持V7库实现PopupMenu。 所有编译都很好但是当我试着打电话时: PopupMenu popup = new PopupMenu(this, v); popup.getMenu().add(Menu.NONE,MENU_SHARE_A,1,R.string.A); popup.getMenu().add(Menu.NONE,MENU_SHARE_B,2,R.string.B); popup.show(); 通话时发生错误: 07-31 17:23:53.365:E / AndroidRuntime(14128):java.lang.RuntimeException:二进制XML文件行#17:您必须提供layout_height属性。 我认为这个元素指向“abc_popup_menu_item_layout.xml”: 这是一个错误还是我做错了什么?

当层次结构中存在NestedScrollView时,Android不会调整我的布局大小

我刚刚在使用Android 7.1.1和Android支持库25.3.1的Nexus 9上观察到以下行为。 这是我的活动的布局: 这就是它在屏幕上的外观: 当屏幕键盘显示时,系统会调整活动的布局大小,从而占用从屏幕顶部到键盘的空间。 请在下面的屏幕截图中考虑红色虚线: 但是,当我用NestedScrollView替换ScrollView时,系统不会调整布局大小: 现在红色虚线位于键盘下方。 通过将android:windowSoftInputMode=”adjustResize”应用于活动可以轻松解决该问题: 红色虚线现在位于键盘上方。 我的问题是: 为什么我会观察到这种行为? NestedScrollView什么问题?

在2.3模拟器上使用RenderScript时,“无法加载RSSupport:findLibrary返回null”

RenderScript无法在Android 2.3模拟器上运行。 04-04 15:37:39.146: W/dalvikvm(863): Unable to resolve superclass of Landroid/support/v8/renderscript/RenderScript$2; (316) 04-04 15:37:39.146: W/dalvikvm(863): Link of class ‘Landroid/support/v8/renderscript/RenderScript$2;’ failed 04-04 15:37:39.146: E/dalvikvm(863): Could not find class ‘android.support.v8.renderscript.RenderScript$2’, referenced from method android.support.v8.renderscript.RenderScript.setErrorHandler 04-04 15:37:39.146: W/dalvikvm(863): VFY: unable to resolve new-instance 890 (Landroid/support/v8/renderscript/RenderScript$2;) in Landroid/support/v8/renderscript/RenderScript; 04-04 15:37:39.146: D/dalvikvm(863): VFY: replacing opcode 0x22 at 0x0009 04-04 15:37:39.146: […]

通过向下拖动,BottomSheetDialog在解除后仍然隐藏

我很好奇BottomSheetDialog在被解雇时的行为:当用户向下拖动它以隐藏它时,它将保持隐藏,即使之后调用了bottomSheetDialog#show() 。 这仅在向下拖动时发生,而不是在用户触摸外部或以编程方式调用bottomSheetDialog#dismiss() 。 这真的很烦人,因为我有一个非常大的bottomSheetDialog里面有一个recyclerview,每次我想要显示bottomSheetDialog时我都要创建一个新的。 所以不要只是这样做: if(bottomSheetDialog != null){ bottomSheetDialog.show(); else{ createNewBottomSheetDialog(); } 我每次都要创建一个。 我错过了什么或者这是正常行为吗? (顺便说一句,我使用的是appcompat-v7:23.2.1 )

Android支持库大大增加了APK的大小

我正在Android项目中使用AppCompat支持库。 AppCompat有很多可绘制的资源和资源,我在我的应用程序中没有使用。 那些不必要的文件将我的900K应用程序增加到2M以上,这是我不喜欢的。 有没有办法在创建APK文件时排除这些文件? 或者我应该在我的代码中混淆库而不是依赖? 我在Android Studio中使用Gradle。 谢谢 编辑1我已经使用了proguard。 但是proguard不知道我不想有drawable-xxxhdpi或者values-it例如。 编辑2我也使用Android Lint,它无法帮助我,因为我不直接访问lib的代码,并且android在构建APK文件时添加它们。

android – 支持库23.2.0导致应用程序崩溃

我的应用程序适用于支持库23.1.0或23.1.1,但是当我开始使用23.2.0时,它在启动时崩溃。 我使用了五个支持库,但似乎使它崩溃的是这两个: com.android.support:appcompat-v7:23.2.0 com.android.support:design:23.2.0 我的Galaxy nexus(API 17)有这个问题,但我的Nexus 7(API 22)没有。 有谁知道可能是什么问题? 这是我的gradle文件: apply plugin: ‘com.android.application’ android { compileSdkVersion 23 buildToolsVersion “23.0.2” defaultConfig { applicationId “com.ikarirobotics.aichordfinder” minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:support-annotations:23.2.0’ compile […]

片状Android Espresso测试 – Snackbar

1)所有正在测试的设备/仿真器都禁用了animation。 2)我有一个@BeforeClass来构建我的Credentials对象。 3)我有一个在@Before中注册的IntenServiceIdlingResource和一个EventBusIdlingResource。 4)单击登录按钮时,IntentService将触发。 在这种情况下,服务器(模拟服务器)返回500错误。 该信息通过greenrobot的EventBus从IntentService发回UI,并显示Snackbar并显示错误消息。 这是测试的代码: @Test public void a_userNamePasswordTest() throws Exception { // email input ViewInteraction userNameView = onView(withId(R.id.email)); // verify it’s on screen and enabled userNameView.check(matches(isDisplayed())).check(matches(isEnabled())); // set the username userNameView.perform(scrollTo(), replaceText(credentials.username), closeSoftKeyboard()); // password input ViewInteraction passwordView = onView(withId(R.id.password)); // verify it’s on screen and enabled passwordView.check(matches(isDisplayed())).check(matches(isEnabled())); // set the password. […]

使用buildToolsVersion 23失败,因为多个dex文件定义’AnimRes’

在您声明DUPLICATE之前,请阅读问题。 这只发生在最新版本的构建工具中。 旧版本不显示此问题。 我已经尝试过在其他问题上提供的解决方案,用于@AnimRes多个定义。 到目前为止没有任何帮助,这就是我发布一个新问题的原因。 相同症状,不同原因,不同解决方案。 使用buildToolsVersion 22.0.1时我可以buildToolsVersion 22.0.1 ,但是当我切换到buildToolsVersion 23 ,构建失败并出现错误 意外的顶级exception:com.android.dex.DexException:多个dex文件定义了Landroid / support / annotation / AnimRes; 在com.android.dx.merge.DexMerger.mergeClassDefs的com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)的com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) (dexMerger.java:535)com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)com.android下的com.android.dx.merge.DexMerger.merge(DexMerger.java:189)。 dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)位于com.android.dx.com上的com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)。在com.android.dx.command.Main.main(Main.java:106)的com.android.dx.command.dexer.Main.main(Main.java:245)上运行(Main.java:277) 这是我的依赖项列表: provided ‘org.projectlombok:lombok:1.16.4’ compile ‘com.android.support:support-v4:23.0.0’ compile ‘com.android.support:appcompat-v7:23.0.0’ compile ‘com.android.support:support-v13:23.0.0’ compile ‘com.android.support:cardview-v7:23.0.0’ compile ‘com.android.support:palette-v7:23.0.0’ compile ‘com.google.code.findbugs:jsr305:2.0.1’ compile ‘com.google.guava:guava:18.0’ compile ‘com.github.chrisbanes.photoview:library:1.2.3’ compile ‘org.apache.commons:commons-lang3:3.4’ compile ‘commons-io:commons-io:2.4’ compile ‘commons-codec:commons-codec:1.10’ compile ‘com.jakewharton:butterknife:7.0.1’ compile ‘com.squareup:otto:1.3.8’ compile ‘org.jsoup:jsoup:1.7.2’ compile ‘com.squareup.picasso:picasso:2.5.2’ […]

当以编程方式设置文本时,TextInputLayoutanimation与文本重叠

我正在使用TextInputLayout和设计支持库22.2.1 。 我以编程方式设置EditText的值,当屏幕出现时,我可以看到TextInputLayout的提示与文本内部重叠,然后移动到浮动位置。 这里布局简单: 在我的Activity : @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); EditText e1 = (EditText) findViewById(R.id.editText1); e1.setText(“TEXT TEST 1”); } 有谁知道解决方法?