Articles of appcompat

如何从AlertDialog.Builder或等效构建AppCompatDialog?

在此之前,我使用DialogBuilder来创建这样的AlertDialog AlertDialog.Builder builder = new AlertDialog.Builder(context); … … AlertDialog dialog = builder.create(); 如何从对话框构建器构建新的AppCompatDialog ,还是有另一种新的等效方法来做到这一点?

如何检测SearchView是否已扩展?

我有菜单项,如: @Override public boolean onCreateOptionsMenu( Menu menu ) { getMenuInflater().inflate( R.menu.passenger, menu ); searchItem = menu.findItem( R.id.action_search ); searchView = (SearchView)MenuItemCompat.getActionView( searchItem ); searchView.setSubmitButtonEnabled( false ); return super.onCreateOptionsMenu( menu ); } 我想检查searchView是否已展开。 我尝试了searchItem.isActionViewExpanded()和searchView.isHovered()但没有一个工作。 我错过了什么? TIA

使用AppCompat溢出菜单textColor(使用Hardware Menu-Key)

我在带有单独菜单键的设备上遇到问题(如三星onces)。 在某些活动中,通过菜单键打开时,“溢出菜单项”的文本颜色为白色。 通过三个点打开溢出,文本颜色始终是黑色的 – 就像应该的那样。 按照屏幕截图显示问题。 在左侧,一切都很好,通过三个点打开溢出。 在右侧菜单已通过菜单键打开: 我的主题: @color/primary_color @color/primary_color_dark @color/accent_color @android:color/white @android:color/white true @color/action_mode_color @style/ThemeOverlay.AppCompat.Light 注意:我在多个活动中使用完全相同的主题,但在五分之三中一切都很好。 这完全令人难以置信,没有意义。 所以基本上问题是:我如何解决这个问题,为什么某些活动中的textcolor会变黑,而其他活动中的textcolor会变成白色(而它们都使用相同的主题)? 我尝试过的(在其他类似的post中find): 设置panelBackground 。 这很有用,不幸的是,这对我来说不是一个解决方案,因为文本颜色随意切换黑色和白色 – 所以我可以设置的背景颜色根本没有。 什么不起作用: android:panelTextAppearance textAppearanceSmallPopupMenu textAppearanceLargePopupMenu popupMenuStyle android:actionMenuTextColor & actionMenuTextColor 我不想使用SpannableStrings – 方法似乎很hacky

错误:无法使用哈希字符串’android-21’find目标

我想将我的compileSdkVersion从23更改为21.所以我在build.gradle中进行了以下更改,但是我收到了以下错误。如何解决此问题? 无法使用哈希字符串’android-21’find目标 apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion “21.1.2” defaultConfig { applicationId “com.example.shalabh.fly” minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { compile fileTree(include: [‘*.jar’], dir: ‘libs’) compile ‘com.android.support:appcompat-v7:23.0.1’ compile files(‘libs/httpclient-4.1-beta1.jar’) }

片段中的元素在重新添加相同片段后无法正常工作

更新 :我发现标头不是唯一受影响的东西,但是片段中的listeners和其他元素没有被初始化。 (比如FAB)。 唯一正常运行的东西是在adapter内部构建的任何东西(即ListView行) 问题 :打开导航抽屉,单击列表项,在同一个Activity中打开一个新的Fragment 。 再次打开Nav Drawer,单击应该简单替换现有Fragment的相同项目,而Fragment打开时,所有以Java编程设置的元素(文本,颜色,侦听器)都不会更改/添加到Fragment 。 视图只是默认的xml布局。 我已经使用Log.d确认正在运行设置这些内容的代码。 (如果你打开一个不同的Fragment ,然后回到原来的Fragment ,一切正常) 确认原因:更改时: compile “com.android.support:appcompat-v7:25.0.1” compile ‘com.android.support:design:25.0.1’ 至 compile “com.android.support:appcompat-v7:25.1.0” compile ‘com.android.support:design:25.1.0’ (如果只更改了其中一个库,那么哪个库仍然无关紧要) 我已经确认更改这两个库是问题(在第二个应用程序中也确认了这个问题 – 并且仅更改此代码,具有完全相同的结果) 我的问题是 ,为什么会发生这种情况以及如何解决? 原始问题的代码和更详细的描述: FragmentTransaction tItems = fm.beginTransaction(); ListFragment mFrag = new PlannerFragment(); tItems.replace(R.id.main_frag, mFrag, TAG_CALC_FRAGMENT); tItems.commit(); 我的抽屉里有大约4个选项都可以打开这个片段,但在每个选项之前,我设置了一个像这样的全局variables: MyApp.PlanType = “highbal”; MyApp.PlanType = “lowbal”; etc. 根据PlanType值(上图),该Fragment加载了不同的数据(但是,在完全相同的xml布局中)。 它只是一个带有标题的ListView […]

RecyclerView notifyDataSetChanged滚动到顶部位置

在notifyDataSetChanged上调用notifyDataSetChanged ,它不会保留滚动位置并滚动到顶部,是否有任何解决方案可以保留它的滚动位置?

ActionBarDrawerToggleanimation

我在我的应用程序中使用v7 appcompat库中的ActionBarDrawerToggle,并且在菜单到箭头animation方面遇到了一些麻烦。 根据材料设计指南,导航抽屉应与工具栏重叠,打开抽屉时不应使用图标animation,据我所知。 为什么在打开/关闭导航抽屉时默认启用animation,如何禁用它? 另外,如何在其他出现时触发animation? 我find了这个解决方案,但它只适用于Android API 11+,并且通过调用setDrawerIndicatorEnabled(false)或工具栏中的扩展ActionView来覆盖。

Android Studio找不到与com.android.support:appcompat-v7:23.+匹配的任何版本

Android Studio新手。 设置完所有后,我尝试运行一个基本项目并继续收到此错误。 我将appcompat版本更改为7.22。+并构建。 有谁能解释一下? 我知道我应该下载那个版本但是从哪里下载? 谢谢! 错误:配置项目’:app’时出现问题。 无法解析配置’:app:_debugCompile’的所有依赖项。 找不到与com.android.support:appcompat-v7:23.+匹配的任何版本。 不匹配的版本:22.2.1 22.2.0 22.1.0 22.0.0 21.0.3 + 7 more在以下位置搜索: https ://jcenter.bintray.com/com/android/support/appcompat-v7/ maven-metadata.xml https://jcenter.bintray.com/com/android/support/appcompat-v7/ file:/ Users / liyicky / Library / Android / sdk / extras / android / m2repository / com / android / support / appcompat -v7 / maven-metadata.xml文件:/Users/liyicky/Library/Android/sdk/extras/google/m2repository/com/android/support/appcompat-v7/maven-metadata.xml文件:/ Users / liyicky / Library / […]

ActionBarDrawerToggle v7箭头颜色

当我尝试更改导航抽屉切换颜色时,只有汉堡包更改它,箭头保持她的原生颜色。 你可以在这里看到它 – @drawable/app_background @style/DropDownListViewStyle @color/primary @color/primary_dark @color/accent @color/primary_text true false @style/DrawerArrowStyle true @android:color/holo_red_dark 如果我将父主题更改为Theme.AppCompat.Light箭头,则将其颜色更改为黑色。 使用以下小部件:android.support.v7.app.ActionBarDrawerToggle; android.support.v7.widget.Toolbar; 我究竟做错了什么?

appcompat-v7:21.0.0无法使用Google Play服务6.1+

我正在更新我的应用以提供素材主题支持(我的应用使用Google Play服务) 当我同步我的项目时,这出现了: …\app\build\intermediates\exploded-aar\com.google.android.gms\play-services\6.1.11\res\values\wallet_colors.xml Error:Attribute “showText” has already been defined 我的gradle依赖项: compile ‘com.android.support:appcompat-v7:21.0.0’ compile ‘com.google.android.gms:play-services:6.1.11’ // the latest version of play-services is 6.1.11 如果我排除appcompat-v7,那么项目编译时没有错误。 我是不是对棒棒糖感到兴奋而且没有正确阅读文档? 我怎样才能解决这个问题? 部分构建脚本: compileSdkVersion 21 buildToolsVersion ‘21.0.1’ dexOptions { preDexLibraries true //incremental true } defaultConfig { minSdkVersion 14 targetSdkVersion 21 versionCode 11 versionName ‘1.0’ renderscriptTargetApi 21 renderscriptSupportMode true } compileOptions { […]