小编git*_*ter的帖子

VectorDrawable在API 23上无法正确呈现

我尽可能用VectorDrawables替换所有图标.但是我注意到它们中的一些在API 23上无法正确渲染,颜色似乎正在流失.其中一个渲染很好.这是我创建的一个孤立项目的屏幕截图:

在此输入图像描述

在API 21上看起来非常好:

在此输入图像描述

示例应用程序的源代码在这里

我在ImageView上使用AppCompat 24.0.0,app:srcCompat并设置了vectorDrawables.useSupportLibrary = true.我还尝试使用目标23的AppCompat 23.4.0.但是,如果我删除appCompat并将minSdkVersion设置为21并使用本机矢量支持,则结果不会更改.IDE不会抱怨任何不受支持的内容.我如何找出问题所在?这是一个平台错误吗?有没有解决方法?

android android-vectordrawable

27
推荐指数
3
解决办法
7662
查看次数

每次使用GoogleSignInApi显示帐户选择器

我正在使用播放服务8.3中引入的新GoogleSignInApi.它会记住上次选择的帐户,并且不会从第2次开始显示帐户选择器.但我想让它每次都让用户选择帐户.看起来GoogleApiClient的clearDefaultAccountAndountRend()方法不允许与googleSignInApi一起使用.没有实现自定义帐户选择器,有没有办法实现这一目标?我在播放服务8.3和谷歌服务1.5.0.

android google-play-services google-signin

14
推荐指数
2
解决办法
4491
查看次数

具有下一个和上一个预览和pagetransformer的居中View Pager

我正在实现一个ViewPager,它显示下一个和上一个项目,并使用ViewPager.PageTransformer动画页面过渡.它具有缩小和淡出效果.为了显示下一个和上一个,我使用负的PageMargin,在viewpager上填充和clipToPadding为false.这就是它的样子

在此输入图像描述

这就是我想要的.问题是PageTransform使用左边缘作为参考,即当图像接触左边缘而不是在中心时,它显示最大缩放.为了解决这个问题,我在代码中使用了一个偏移量,如下所示

viewPager.setPageTransformer(false, new ViewPager.PageTransformer() {
        @Override
        public void transformPage(View page, float position) {
            if (position < -1) {
                page.setAlpha(0);
            } else if (position <= 1) {
                float scaleFactor = Math.max(0.7f, 1 - Math.abs(position - 0.14285715f));
                page.setScaleX(scaleFactor);
                page.setScaleY(scaleFactor);
                page.setAlpha(scaleFactor);
            } else {
                page.setAlpha(0);
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

当图像位于中心时,我记录了位置值并找到了偏移量.但是此偏移仅适用于xxhdpi设备.在xxxhdpi上,值为0.12068965f.此外,当我在ViewPager上更改填充时,偏移也会更改.此外,使用dpi进行下一次和上一次更改的预览大小.

如何计算填充,边距和特别是偏移量以保持不同dpis的一致行为?

这是我添加viewpager及其填充的布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="400dp"
        android:clipToPadding="false"
        android:paddingLeft="40dp"
        android:paddingRight="40dp">

    </android.support.v4.view.ViewPager>

    <Button
        android:id="@+id/swiper"
        android:text="Animate"
        android:layout_centerInParent="true"
        android:layout_below="@id/viewPager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这是viewpager初始化代码:

final ViewPager viewPager = ((ViewPager) findViewById(R.id.viewPager)); …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager android-pagetransformer

7
推荐指数
1
解决办法
1918
查看次数

在Play服务8.3中获取新谷歌登录的人员详细信息

我正在尝试使用播放服务8.3中引入的新Google登录API来获取用户的个人资料.除了显示名称,电子邮件和身份证,我还需要用户的性别.

Plus.PeopleApi.getCurrentPerson() 
Run Code Online (Sandbox Code Playgroud)

根据播放服务8.3不推荐使用,即使我也为null返回null

mGoogleApiClient.hasConnectedApi(Plus.API) 
Run Code Online (Sandbox Code Playgroud)

返回true.

GoogleSignInAccount.getGrantedScopes 
Run Code Online (Sandbox Code Playgroud)

回报

https://www.googleapis.com/auth/plus.me
https://www.googleapis.com/auth/plus.login
profile
email
openid
Run Code Online (Sandbox Code Playgroud)

Google Developer Console未在Google+ API上显示任何匹配.我已将正确的google-services.json文件放在应用程序的app /文件夹中.我甚至以编程方式生成SHA1指纹以验证我是否使用了正确的密钥库.

如何使用新登录API获取此人的Google +个人资料数据(性别,姓氏,姓名等)?

android google-api-client google-play-services google-plus-signin google-signin

6
推荐指数
2
解决办法
8153
查看次数

在片段中间查看寻呼机标签

如何实施这些标签,与Google plus个人资料页面相同?

我认为我不能使用ActionBar选项卡,因为它们被归入ActionBar.我希望标签位于此图像中的图像下方.此外,我希望修复这些选项卡.我想要三个选项卡,并且所有三个选项卡都应该在屏幕上可见 - 作为android固定选项卡加上使用Action Bar选项卡的滑动布局.

Google Plus个人资料

tabs android android-viewpager swipeview

5
推荐指数
1
解决办法
2833
查看次数