GVKun编程网logo

android – AppCompat库23.2.1不使用espresso v2.2.2

4

本文将分享android–AppCompat库23.2.1不使用espressov2.2.2的详细内容,此外,我们还将为大家带来关于5张图片解决androidstudio报错:Failedtoreso

本文将分享android – AppCompat库23.2.1不使用espresso v2.2.2的详细内容,此外,我们还将为大家带来关于5张图片解决android studio报错:Failed to resolve: com.android.support:appcompat-v7:29、Andriod Studio 解决问题 Failed to resolve: com.android.support:appcompat-v7:28.+、Android AppCompat-v21 vs Pure Material、Android AppCompat-v21工具栏动画的相关知识,希望对你有所帮助。

本文目录一览:

android – AppCompat库23.2.1不使用espresso v2.2.2

android – AppCompat库23.2.1不使用espresso v2.2.2

我有一个 android项目,我使用espresso来定义测试.这一切都运行良好,但在升级到AppCompat 23.2.1(从AppCompat 23.0.1)之后,测试的执行总是崩溃.

我的build.gradle依赖项:

dependencies {

// Ok Config
compile filetree(dir: 'libs',include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:support-annotations:23.2.1'

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support:support-annotations:23.2.1'
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.2'
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'

该项目编译并执行正常,但是当我尝试运行测试时,它会因此错误而崩溃:

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity

尽管错误的文本我使用Theme.AppCompat的后代主题,所以我根本不理解错误消息.

有人有同样的问题吗?它似乎与appcompat和espresso的依赖关系有任何问题,但我无法找到它并解决我的问题.

有任何想法吗?

谢谢!

解决方法

我认为主要问题是espresso模块使用的支持库与我项目中使用的支持库不同,所以当我尝试运行测试时,测试会崩溃.

最后我解决了它,除了所有espresso模块的支持库,强制他们使用我的项目的支持库.现在一切都很好.希望这可以帮助任何人!

我的gradle看起来像这样:

compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.android.support:design:23.2.1'
    compile 'com.android.support:support-annotations:23.2.1'


    androidTestCompile ('com.android.support.test:runner:0.5') {
        exclude group: 'com.android.support'
    }
    androidTestCompile ('com.android.support.test:rules:0.5') {
        exclude group: 'com.android.support'
    }
    androidTestCompile ('com.android.support.test.espresso:espresso-core:2.2.2') {
        exclude group: 'com.android.support'
    }
    androidTestCompile ('com.android.support.test.espresso:espresso-contrib:2.2.2') {
        exclude group: 'com.android.support'
    }
    androidTestCompile ('com.android.support.test.espresso:espresso-intents:2.2.2') {
        exclude group: 'com.android.support'
    }

5张图片解决android studio报错:Failed to resolve: com.android.support:appcompat-v7:29

5张图片解决android studio报错:Failed to resolve: com.android.support:appcompat-v7:29

android studio已经问世多年了,但是对于刚接触android studio的小伙伴来说,经常会遇到这样的报错:Failed to resolve: com.android.support:appcompat-v7:29 ,如图所示:
在这里插入图片描述
我今天新建了一个安卓项目也出现了这样子的错误,遇到这样的问题不要慌,看完下面的步骤就可以解决了!

第一步:报错了,先去查看以下自己sdk tool 的版本是多少,通过下图可以查看到我的sdk tools的版本号为26.1.1
在这里插入图片描述
第二步,接下来就要 看看SDK 构建工具的版本了,具体查看步骤如图所示:
在这里插入图片描述
我找到了sdk 路径是在D盘,我就安装了26.0.1 跟30.0.2 这两个,如图所示:
在这里插入图片描述
然后,我们到打开app里面的build.gradlle文件瞧瞧,更改里面的几个地方就可以了,将compileSdkVersion ,targetSdkVersion的版本号改为跟sdk build tools就好了,保持26这个一样的版本就了。l
在这里插入图片描述
以下这个地方也要改成26(同样是在app 里面的build.gradle文件里面),如图所示:
在这里插入图片描述
最后,点击Try again 就完成了,重新编译下就不会报:Failed to resolve: com.android.support:appcompat-v7:29 这个错误了。
在这里插入图片描述
下次遇到什么疑难问题,不要慌,可以多找找度娘,一定会解决的。好了,看看我运行起来的hello world 吧! 你遇到过这个的异常吗?你是怎么解决的,欢迎留言一起分享!
在这里插入图片描述












Andriod Studio 解决问题 Failed to resolve: com.android.support:appcompat-v7:28.+

Andriod Studio 解决问题 Failed to resolve: com.android.support:appcompat-v7:28.+

Andriod Studio 报错提示:

Error:(26, 13) Failed to resolve: com.android.support:appcompat-v7:28.+

 

原因:Andriod Studio 所使用的 sdk 版本与 build.gradle 配置文件中的配置不符,

dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
androidTestCompile(''com.android.support.test.espresso:espresso-core:2.2.2'', {
exclude group: ''com.android.support'', module: ''support-annotations''
})
compile ''com.android.support:appcompat-v7:28.+''
testCompile ''junit:junit:4.12''
}

通过sdk manager查看sdk版本为下图红色部分,即26.1.1


com.android.support:appcompat-v7:28.+ 中28 改为26,如下图,即可编译通过

Android AppCompat-v21 vs Pure Material

Android AppCompat-v21 vs Pure Material

因此,对于基于材料的 Android应用程序,文档和示例目前很少和稀少,更多的添加.

我已经阅读了迄今为止所有的文档,但有一个比较常见的问题,我听到很多人:

> 5.0以下应用程序是否符合Holo-istic风格,5.0使用Material?

要么

应用程序是否应用AppCompat来尽可能多地使用系统材质,如果是这样,那么5.0以上的设备会产生什么负面影响?

我的ocd开发人员的心意会尽可能地拥有最纯粹的材料,但是使用工具栏和其他重要因素,似乎更有意义的是使用AppCompat并修改整个4.0应用程序.

对于那些在这里看的是我读过的一些文件:

http://antonioleiva.com/material-design-everywhere/

https://chris.banes.me/2014/10/17/appcompat-v21/

http://developer.android.com/training/material/theme.html

http://developer.android.com/training/material/compatibility.html

http://android-developers.blogspot.com/2014/10/implementing-material-design-in-your.html

解决方法

Should apps use AppCompat to make as much of the system Material as possible,and if so,what negative effects does this have on 5.0 and above devices?

您可以使用AppCompat,同时通过备用资源支持Lollipop上的Pure Material.所以你真的不必选择支持一个或另一个. Google花费大量时间开发AppCompat的原因是这样的开发人员可以拥抱材料设计,并且仍然支持旧设备.

My ocd developer mind would rather have the purest form of Material as possible

这实际上有点危险.例如,如果要在缺少RenderThread的5.0之前的设备上使用波纹/其他动画,则可能会影响没有专用动画线程的设备的性能.

真正归结的是,我将能够使用AppCompat给我的用户一样惊人的体验,因为我将使用本机主题. Google已经通过AppCompat-v21和其他支持库完成了一个惊人的工作,以便在5.0版本的设备上启用Material-esque设计.所以答案是肯定的,使用AppCompat为您的用户提供一个植根于材料设计的统一,稳定的体验.

Android AppCompat-v21工具栏动画

Android AppCompat-v21工具栏动画

我想使用新的 Android工具栏模式而不是ActionBar.
我从appCompat v21添加了一个工具栏作为SupportActionBar,现在,我想在滚动listView项目时隐藏/显示动画.
之前,我使用方法:actionBar.show()和actionBar.hide(),并自动动画.但现在,在工具栏中,它隐藏并显示没有任何动画.
我该怎么办???

活动布局:

<include
    layout="@layout/toolbar_actionbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/actionbar_margin" />

工具栏布局:

<android.support.v7.widget.Toolbar   
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"

android:id="@+id/toolbaractionbar_T_actionToolbar"

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"

android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

活动Java:

actionToolbar = (Toolbar) findViewById(R.id.toolbaractionbar_T_actionToolbar);
setSupportActionBar(actionToolbar);

截图:

解决方法

你需要的是滚动侦听器.它会检测您是向上还是向下滚动,并相应地隐藏或显示工具栏.也被称为’ Quick Return‘模式.

除了使用hide()和show()方法外,对于动画,您必须这样做:

为了隐藏:

toolbarContainer.animate().translationY(-toolbarHeight).setInterpolator(new AccelerateInterpolator(2)).start();

显示工具栏:

toolbarContainer.animate().translationY(0).setInterpolator(new DecelerateInterpolator(2)).start();

为了进一步阅读,您可以参考这个tutorial.It谈论一个浮动动作按钮,但它与工具栏相同的动画.或者在GitHub找到它的代码.

你可以很容易地做到这一点,没有任何外部的图书馆.

总结

以上是小编为你收集整理的Android AppCompat-v21工具栏动画全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

今天的关于android – AppCompat库23.2.1不使用espresso v2.2.2的分享已经结束,谢谢您的关注,如果想了解更多关于5张图片解决android studio报错:Failed to resolve: com.android.support:appcompat-v7:29、Andriod Studio 解决问题 Failed to resolve: com.android.support:appcompat-v7:28.+、Android AppCompat-v21 vs Pure Material、Android AppCompat-v21工具栏动画的相关知识,请在本站进行查询。

本文标签: