小编Jav*_*ado的帖子

Android支持设计TabLayout:重力中心和模式可滚动

我想在我的项目中使用新的Design TabLayout.我希望布局适应每个屏幕尺寸和方向,但可以在一个方向上正确看到.

我正在处理重力和模式设置我的tabLayout为:

    tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
    tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
Run Code Online (Sandbox Code Playgroud)

所以我希望如果没有空间,tabLayout是可滚动的,但是如果有空间,它就会居中.

从指南:

public static final int GRAVITY_CENTER Gravity用于布置TabLayout中心的选项卡.

public static final int GRAVITY_FILL Gravity用于尽可能多地填充TabLayout.此选项仅在与MODE_FIXED一起使用时生效.

public static final int MODE_FIXED固定选项卡同时显示所有选项卡,最适用于受益于选项卡之间快速枢轴的内容.选项卡的最大数量受视图宽度的限制.固定标签的宽度相等,基于最宽的标签标签.

public static final int MODE_SCROLLABLE可滚动选项卡在任何给定时刻显示选项卡的子集,并且可以包含更长的选项卡标签和更多数量的选项卡.当用户不需要直接比较标签标签时,它们最适合用于浏览触摸界面中的上下文.

所以GRAVITY_FILL只与MODE_FIXED兼容但是,at没有为GRAVITY_CENTER指定任何内容,我希望它与MODE_SCROLLABLE兼容,但这是我使用GRAVITY_CENTER和MODE_SCROLLABLE

在此输入图像描述

因此它在两个方向都使用SCROLLABLE,但它没有使用GRAVITY_CENTER.

这就是我对景观的期望; 但要拥有这个,我需要设置MODE_FIXED,所以我得到的是肖像:

在此输入图像描述

如果tabLayout适合屏幕,为什么GRAVITY_CENTER不能用于SCROLLABLE?有没有办法动态设置重力和模式(并看看我期待什么)?

非常感谢你!

编辑:这是我的TabLayout的布局:

<android.support.design.widget.TabLayout
    android:id="@+id/sliding_tabs"
    android:layout_width="match_parent"
    android:background="@color/orange_pager"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

android gravity material-design android-5.0-lollipop

88
推荐指数
7
解决办法
9万
查看次数

Android Navigation Component has lag when navigating through NavigationDrawer

I am updating my app to Navigation Architecture Components and I see that it has a lag replacing fragments which is visible in the NavigationDrawer that does not close smoothly.

Until now, I was following this approach:

https://vikrammnit.wordpress.com/2016/03/28/facing-navigation-drawer-item-onclick-lag/

所以我导航onDrawerClosed而不是进入onNavigationItemSelected以避免故障。

这是一个非常普遍的问题,但它又回来了。使用导航组件,它再次滞后,我没有看到在onDrawerClosed.

这些是导航组件之前的一些旧答案

Android 上的导航抽屉滞后

DrawerLayout 的项目点击 - 什么时候更换片段合适?

非常感谢。

android navigation-drawer navigationview android-architecture-navigation

20
推荐指数
1
解决办法
2581
查看次数

Android深层链接仅适用于某些网站

我在我的应用程序中使用应用程序索引,但有时它无法正确接收来自Chrome的意图.

如果我从我的生产网站打开链接,它将由chrome打开.所以我创建了一个具有相同代码的测试站点.但是,在这种情况下,我的应用正确打开深层链接.

我找不到任何解释,因为它在网络中使用相同的代码(但在不同的网站中)和相同的Android应用程序.

这是我的意图过滤器:

        <intent-filter android:autoVerify="true">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="https" android:host="soriabus-web.appspot.com" android:pathPrefix="/" />
        </intent-filter>
Run Code Online (Sandbox Code Playgroud)

这是我的按钮中的html代码:

<a href="https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/true"
"type="button"
role="button"
class="btn btn-primary">
Abrir Soria Bus
</a>
Run Code Online (Sandbox Code Playgroud)

如果我打开此地址(制作)中的链接,则会打开Play商店(链接的末尾是重定向到Google Play):

https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados

如果我在这个其他地址(测试)中打开链接,它会打开我的app correclty:

https://central-splice-128620.appspot.com/parada/1/plaza-mariano-granados

我不明白为什么链接处理不同.谢谢.

编辑:

是因为我正在关注同一网站内的链接吗?

https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados => https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/playstore

android deep-linking intentfilter android-app-indexing firebase-app-indexing

8
推荐指数
1
解决办法
838
查看次数

华为 HMS 地图 Android Codelab 不工作

我正在尝试将华为地图套件用于不包含 Google Play 服务的新设备。Codelab 演示位于:

https://developer.huawei.com/consumer/en/codelab/HMSMapKit/index.html#7

我没有更改演示的任何一行代码,该应用程序已自动下载华为移动服务版本3.0.3.300。

但是,地图仍然没有出现。

你遇到过同样的问题吗?

我收到此日志:

01-26 14:24:34.265 19265-19265/com.wz.android.mapdemo W/DynamicModule: Failed to load remote module.

01-26 14:24:34.256 19265-19265/com.wz.android.mapdemo D/HmsMapKit_MapView_183: onStart
01-26 14:24:34.257 19265-19265/com.wz.android.mapdemo I/HmsMapKit_MapCreator_48: Making Createor dynamically
01-26 14:24:34.257 19265-19265/com.wz.android.mapdemo I/DynamicModule: Local module huawei_module_maps:0
01-26 14:24:34.257 19265-19265/com.wz.android.mapdemo I/DynamicModule: Remote module huawei_module_maps:-100
01-26 14:24:34.259 19265-19265/com.wz.android.mapdemo W/DynamicModule: Failed to load remote module.
    com.huawei.hms.feature.dynamic.DynamicModule$LoadingException: f*i*e* *o*l*a* *o*u*e
        at com.huawei.hms.feature.dynamic.DynamicModule.a(Unknown Source)
        at com.huawei.hms.feature.dynamic.DynamicModule.a(Unknown Source)
        at com.huawei.hms.feature.dynamic.DynamicModule.load(Unknown Source)
        at com.huawei.hms.maps.internal.MapCreator.getRemoteContext(MapCreator.java:97)
        at com.huawei.hms.maps.internal.MapCreator.getRemoteMapContext(MapCreator.java:85)
        at com.huawei.hms.maps.internal.MapCreator.getCreator(MapCreator.java:50)
        at com.huawei.hms.maps.MapView$MapViewDeferredLifecycleHelper.createDelegate(MapView.java:241)
        at com.huawei.hms.feature.dynamic.DeferredLifecycleHelper.a(Unknown Source)
        at com.huawei.hms.feature.dynamic.DeferredLifecycleHelper.onStart(Unknown …
Run Code Online (Sandbox Code Playgroud)

android dictionary huawei-mobile-services huawei-map-kit

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

WearableListView setEnableGestureNavigation不可用

我正在开发我的Android Wear应用程序,我无法使用 setEnableGestureNavigation

我使用的是WearableListViewcom.google.android.support:wearable:1.3.0

我可以使用WearableListView的任何方法但是setEnableGestureNavigation()是不可用的.但是,它可以在文档中找到:

https://developer.android.com/reference/android/support/wearable/view/WearableListView.html?hl=es#setEnableGestureNavigation(boolean)

android android-support-library wear-os

6
推荐指数
1
解决办法
71
查看次数

适用于Android的Google Analytics.接收通知的用户被视为活动用户

我在我的应用中使用了Google Analytics(分析),而且工作正常.但是,如果我每天有100个活跃用户,然后我发送通知,则我将1000个连接用户的峰值计为"活动".

我不知道是否有一种简单的方法可以防止这些用户被视为活动用户.他们中的大多数人不会打开通知,我不希望他们算作活动.我想只计算打开应用程序的用户,而不是所有收到通知的用户.

我在发送的通知中使用"body"字段,并在应用程序中创建自定义通知.

是否可以删除这些"活跃"用户?

非常感谢你!

android google-analytics firebase firebase-notifications

6
推荐指数
1
解决办法
455
查看次数

Google Analytics将Google Cloud Test Lab测试检测为活跃用户和新用户

我正在使用谷歌分析,我已经看到云测试实验室中的所有设备被检测为"活跃用户"和"新用户"(这是有道理的).有没有办法检测到这个并且不计算它们?

我发现它们在Google Play中不算作安装,因此我预计Google Analytics会采用相同的行为.

可以通过使用不同的跟踪ID将不同版本上传到Alpha/Beta和Production来避免这种情况,但如果将相同的Apk从Alpha/Beta升级到Production,则Cloud Test Lab功能会更强大.

android google-analytics google-cloud-test-lab

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

库appengine.api.datastore和com.google.cloud.datastore有什么区别?

我正在开发一个appengine项目并使用Google Datastore存储我的数据.我使用不同的数据存储库,因为它们是示例中使用的,但我觉得有点奇怪,我必须使用它们:

如果我检查用于查询的文档,在此示例中,他们使用此库来处理查询:

的列举

https://cloud.google.com/appengine/docs/java/datastore/retrieving-query-results

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); PreparedQuery pq = datastore.prepare(q); 实体结果= pq.asSingleEntity();

但是,在这个例子中存储数据,他们使用

com.google.cloud.datastore

https://cloud.google.com/datastore/docs/concepts/entities

实体任务= Entity.builder(taskKey).set("category","Personal").set("done",false).set("priority",4).set("description","Learn Cloud Datastore" ).build();

现在我可以使用两者,但我想知道哪一个更好用于哪种目的,或者它们是否只是具有不同包的相同库.但是,我正在寻找一种方法来删除其中一个.

java google-app-engine datastore google-cloud-datastore

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

调试 Google Datastore:IllegalArgumentException:projectId 必须与以下模式匹配

我正在开发一个应用程序引擎项目并使用 Google Datastore 存储我的数据。我想调试它,但我仍然有例外java.lang.IllegalArgumentException: projectId must match the following pattern: ([a-z\\d\\-]{1,100}~)?([a-z\\d][a-z\\d\\-\\.]{0,99}:)?([a-z\\d][a-z\\d\\-]{0,99})

\n\n

我能够调试我的 appengine 项目,并且可以部署它并将数据正确存储在 Google Datastore 中。

\n\n

为了进行调试,我遵循了数据存储模拟器的说明:

\n\n

https://cloud.google.com/datastore/docs/tools/datastore-emulator

\n\n

我已经安装了 Google Cloud SDK,并使用我的项目 id 的默认值正确启动它(并且我还尝试通过命令行设置我自己的项目 id)。

\n\n

这是我在 gcloud 中执行的命令:

\n\n
\n

gcloud beta 模拟器数据存储启动 --project="my-project-name"

\n\n

警告:重用 [C:\\gcloud\\emulators\\datastore] 中的现有数据。\n 执行:cmd /c\n C:\\google-cloud-sdk\\platform\\cloud-datastore-emulator\\ cloud_datastore_emulator.cmd\n start --host=localhost --port=8806 --store_on_disk=True\n --consistency=0.9 --allow_remote_shutdown C:\\gcloud\\emulators\\datastore [数据存储] 2016 年 11 月 27 日 5 :08:17 PM\n com.google.cloud.datastore.emulator.CloudDatastore$FakeDatastoreAction$7\n 应用 [数据存储区] INFORMACI?N:提供了 --allow_remote_shutdown 来\n 不再需要的启动命令。[数据存储区] 2016 年 11 月 27 日\n 5:08:17 …

java debugging google-app-engine datastore google-cloud-datastore

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