我使用的是Design Support Library版本23.4.0.我启用了gradle标志:
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
Run Code Online (Sandbox Code Playgroud)
我正在使用构建工具版本23.0.2,但仍然,我正在Resources$NotFoundException使用KitKat或更低版本.
它发生在我使用android:drawableLeft或时imageView.setImageResource(R.drawable.drawable_image).
是的,我把它放在我使用drawables的每个活动上
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)
这是支持库的错误吗?
android android-support-library androiddesignsupport android-vectordrawable
如何使用Android支持设计库(v23.2.1)将片段的状态设置为扩展BottomSheetDialogFragment为扩展BottomSheetBehavior#setState(STATE_EXPANDED)?
https://code.google.com/p/android/issues/detail?id=202396说:
底部工作表首先设置为STATE_COLLAPSED.如果要展开它,请调用BottomSheetBehavior#setState(STATE_EXPANDED).请注意,您无法在视图布局之前调用该方法.
该建议的做法需要将第一膨胀的观点,但我不知道我怎么会设置BottomSheetBehaviour到片段(BottomSheetDialogFragment).
View bottomSheet = coordinatorLayout.findViewById(R.id.bottom_sheet);
BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);
Run Code Online (Sandbox Code Playgroud) android android-fragments android-support-library android-support-design
My Fragment onAttach(context)在启动时不会调用方法AppCompatActivity.
以XML格式创建片段:
<fragment
android:id="@+id/toolbar"
class="package.MainToolbarFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_main_toolbar" />
Run Code Online (Sandbox Code Playgroud)
但如果我扩展它support.v4.Fragment,onAttach(context)请致电!
可能是什么问题呢?
当然,我可以扩展所有片段 v4.Fragment,但我不想要它.这是不好的做法吗?同时项目min sdk 14.
android android-fragments android-activity android-support-library fragmentmanager
我在导入一些Android UI测试框架时遇到了麻烦 - 我无法弄清楚出了什么问题!
这是我的班级:
@RunWith(AndroidJUnit4.class)
@LargeTest
public class ExampleUnitTest {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule(MainActivity.class);
@Test
public void listGoesOverTheFold() {
onView(withText("Hello world!")).check(matches(isDisplayed()));
}
}
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,我得到错误'找不到符号ActivityTestRule'和'找不到符号AndroidJUnit4'.我试图导入它们但是找不到它们.
build.gradle中的依赖项设置为:
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
androidTestCompile 'com.android.support:support-annotations:23.4.0'
androidTestCompile 'com.android.support.test:runner:0.4'
androidTestCompile 'com.android.support.test:rules:0.4'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
Run Code Online (Sandbox Code Playgroud)
所以我认为我已经设置了所有依赖项 - 我一直在尝试很多东西,但没有运气.
有人有主意吗?
有人可以解释一下,请问Android支持资源库与Android支持资源库与谷歌资源库与谷歌播放服务有什么区别?
我的理解是,Google Repository与Google Play服务完全相同,只是将所有api分开(与经典的播放服务相比,这是一个包含所有内容的大jar)并且更适合在android studio中使用,因为现在您可以选择你想编译什么api(例如'com.google.android.gms:play-services-ads:+')vs依赖proguard在构建时去除不需要的api.
我对吗?
Android支持存储库与Android支持库如何?
android android-support-library google-play-services android-gradle-plugin android-sdk-manager
我试图找出为什么我的Android工作室没有正确识别AppCompat v7库.下面的import语句显示为灰色,并表示没有support.v7.app的包.以下是我的活动文件:
import android.support.v7.app.AppCompatActivity;
public class XApplicationActivity extends AppCompatActivity
Run Code Online (Sandbox Code Playgroud)
我的build.grade:
compile "com.android.support:appcompat-v7:22.0.0"
compile "com.android.support:support-annotations:$ANDROID_SUPPORT_VERSION"
compile "com.android.support:support-v4:$ANDROID_SUPPORT_VERSION"
Run Code Online (Sandbox Code Playgroud)
我的项目设置:
minSdkVersion = 14
targetSdkVersion = 21
compileSdkVersion = 21
buildToolsVersion = "22.0.1"
Run Code Online (Sandbox Code Playgroud)
所以我真的很困惑为什么这仍然给我带来问题.我已经尝试过的事情:
有谁知道任何修复?这花了我很多时间,这真的令人沮丧.
android android-appcompat android-library android-support-library
我遇到了与VectorDrawables的新向后兼容性问题.在支持库中,23.2是一个新功能,用于向后兼容所生成的Android VectorDrawables.
我有一个ImageView,它是一个SelectorDrawable分配给.这个Drawable拥有几个VectorDrawables所以我认为我应该使用app:srcCompat来兼容.但它在我的Galaxy S2上使用android 4.1.2不起作用.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_gps_fixed_24dp"android:state_activated="true" android:state_selected="true"></item>
<item android:drawable="@drawable/ic_gps_not_fixed_24dp" android:state_activated="true" android:state_selected="false"></item>
<item android:drawable="@drawable/ic_gps_not_fixed_24dp" android:state_activated="false" android:state_selected="true"></item>
<item android:drawable="@drawable/ic_gps_off_24dp" android:state_activated="false" android:state_selected="false"></item>
<item android:drawable="@drawable/ic_gps_not_fixed_24dp"></item>
</selector>
Run Code Online (Sandbox Code Playgroud)
所有drawables都是vector xml文件.
当使用此SelectorDrawable与srcCompat时,我收到此错误:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_gps_fixed_24dp.xml from drawable resource ID #0x7f0201c1
at android.content.res.Resources.loadDrawable(Resources.java:1951)
at android.content.res.Resources.getDrawable(Resources.java:672)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881).xml from drawable resource ID #0x7f0201c1
Run Code Online (Sandbox Code Playgroud)
使用android:src更糟糕.
如果我使用app:srcCompat中的一个矢量drawable,一切正常.所以我猜这是SelectorDrawable和兼容性的问题.
有没有人有同样的问题,并找到了解决方案,或者目前无法在Android 5之前的SelectorDrawables中使用VectorDrawables?
简要说明:
android vector android-appcompat android-support-library android-vectordrawable
由于我已将Nexus 5x升级到Android O DP3,因此无法测试我的应用程序.我收到错误,因为我没有配置我的Gradle文件来使用新的API级别(26).
所以我改变了这个和依赖项,但是我的所有支持库都出现了错误
Failed to resolve: com.android.support:design:26.0.0-beta2
Run Code Online (Sandbox Code Playgroud)
点击
Install repository and sync project
Run Code Online (Sandbox Code Playgroud)
弹出progressdialog以下载正确的依赖项,但不会删除错误.清理项目,安装存储库然后重建项目也不起作用.
在appcompat-v7:26.0.0-beta2上,我得到(甚至在Gradle同步之前)带有错误的线条:
When using a compileSdkVersion older than android-O revision 2,
the support library version must be 26.0.0-alpha1 or lower (was 26.0.0-beta2)
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我为Android API 26正确配置gradle文件吗?任何帮助,将不胜感激.
PS:我现在正在使用Gradle 3.0.0-alpha3,但在Gradle 2.3.2上得到了同样的错误
我的Gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion '26.0.0'
defaultConfig {
applicationId "********"
minSdkVersion 21
targetSdkVersion 26
versionCode 3
versionName "2.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies …Run Code Online (Sandbox Code Playgroud) android gradle android-support-library build.gradle android-8.0-oreo
我正在关注HeadFirst Android开发中的教程并在添加后遇到问题:private ActionBarDrawerToggle drawerToggle;
该控件已弃用,因此我按照Stack上的说明通过将com.android.support:appcompat-v7:26.0.0-alpha1添加到应用程序模块依赖项来解决该问题
但现在我收到以下构建错误:
错误:任务':app:processDebugManifest'的执行失败.
清单合并失败:来自[com.android.support:recyclerview-v7:25.3.1]的属性meta-data#android.support.VERSION@value value =(25.3.1)AndroidManifest.xml:24:9-31也是出现在[com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value =(26.0.0-alpha1).建议:在AndroidManifest.xml:22:5-24:34中添加'tools:replace ="android:value"'来覆盖.
这是代码:
android gradle android-manifest android-support-library android-studio