我想com.google.android.gms.common.SignInButton在我的一个布局中使用 a但遗憾的是,没有任何有价值的理由,按钮内的文本不想位于中心。
这是它的外观:
xml 非常简单,我尝试使用边距/填充/重力/...但没有任何方法可以使文本居中:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<com.google.android.gms.common.SignInButton
android:id="@+id/button_google_sign_in"
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_centerInParent="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
编辑 :
即使有一个完全空的活动,这个按钮也不能正确显示......我疯了吗?
有人已经遇到过这个问题吗?
谢谢
我正在构建一个 Flutter 应用程序,当设备连接到另一个蓝牙设备时,该应用程序能够执行一些操作。这个应用程序应该可以在 Android 和 iOS 上运行,但为了简单起见,我在这篇文章中将重点关注 Android。此外,无论应用程序是在前台、后台还是被杀死,这都必须有效。
以下是该应用程序的架构:
BroadcastReceiver.BroadcastReceiver被蓝牙事件触发时,信息会发送到 Flutter 代码(即使应用程序处于后台或被杀死)。创建 Flutter 隔离来处理 Flutter 代码。一切都运转良好。Flutter 代码被调用,我可以用来print(data)记录 Android 代码提供的数据。
当我想从隔离中调用任何 Flutter 插件(如sqflite、package_info_plus、 ...)时,事情变得更加棘手。我每次都会收到此错误:
[错误:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:MissingPluginException(在通道 yyy 上找不到方法 xxx 的实现)
据我了解,生成的隔离无法本机运行 Flutter 插件。有一些帖子(无法理解“找不到‘Window_sendPlatformMessage’(4 个参数)”错误的 Flutter Isolate 解决方法,https://github.com/flutter/flutter/issues/13937)解释了如何创建可以使用解决方法或https://pub.dev/packages/flutter_isolate等插件运行 Flutter 插件。但是,我无法使用此包创建隔离,因为隔离是从 Android 代码创建的。
你们中的一个人能告诉我如何实现这一目标吗?有没有办法从本机代码创建的隔离中使用 Flutter 插件?
预先非常感谢
我使用RxAndroid,我想过滤一个结果Observable<List<Item>>.
这是代码:
Observable<List<Item>> observable =
Observable.create((Observable.OnSubscribe<List<Item>>) subscriber -> {
subscriber.onNext(ItemManager.getItems());
subscriber.onCompleted();
});
Run Code Online (Sandbox Code Playgroud)
我想用来.filter()获取有效物品.这样做是完美的:
observable.filter(new Func1<Item, Boolean>() {
@Override
public Boolean call(Item item) {
return item.isValid();
}
});
Run Code Online (Sandbox Code Playgroud)
但是,.filter()迫使我实现新的Func1():
observable.filter(new Func1<List<Item>, Boolean>() {
@Override
public Boolean call(Item item) {
}
});
Run Code Online (Sandbox Code Playgroud)
有人知道如何解决这个问题吗?
先感谢您 :)
我正在使用Retrofit以发出一些网络请求。我还将协同程序与“挂起”功能结合使用。
我的问题是:有没有办法改善以下代码。这个想法是并行启动多个请求,并等待它们全部完成,然后再继续执行该功能。
lifecycleScope.launch {
try {
itemIds.forEach { itemId ->
withContext(Dispatchers.IO) { itemById[itemId] = MyService.getItem(itemId) }
}
} catch (exception: Exception) {
exception.printStackTrace()
}
Log.i(TAG, "All requests have been executed")
}
Run Code Online (Sandbox Code Playgroud)
(请注意,“ MyService.getItem()”是一个“暂停”函数。)
我猜在这种情况下,有什么比foreach更好的了。
有人有主意吗?
我的 Android 应用中有一些动画,我想更改代码以利用 Android KTX。可悲的是,我不太了解有关它的文档。有人可以告诉我如何在 Android KTX 的帮助下改进此代码吗?
view
.animate()
.translationY(view.height.toFloat())
.setDuration(3000)
.setInterpolator(AccelerateInterpolator())
.setListener(object : Animator.AnimatorListener {
override fun onAnimationStart(animation: Animator?) {}
override fun onAnimationRepeat(animation: Animator?) {}
override fun onAnimationCancel(animation: Animator?) {}
override fun onAnimationEnd(animation: Animator?) {
// Do whatever I want
}
})
Run Code Online (Sandbox Code Playgroud)
当然,我已经在 Gradle 文件中添加了依赖项:
implementation 'androidx.core:core-ktx:1.0.2'
Run Code Online (Sandbox Code Playgroud)
非常感谢您提前:)
android android-animation kotlin-android-extensions android-ktx
我正在使用FirebaseDatabase,但无法解决非常烦人的崩溃。
每当我尝试执行时:
FirebaseDatabase.getInstance().getReference().child("...").push().setValue(...)
应用程序崩溃,我收到此消息:
com.google.firebase.database.DatabaseException: Found a conflicting setters with name: setGregorianChange (conflicts with setGregorianChange defined on java.util.GregorianCalendar)
at com.google.android.gms.internal.zzbqi$zza.<init>(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzi(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaw(Unknown Source)
at com.google.firebase.database.DatabaseReference.zza(Unknown Source)
at com.google.firebase.database.DatabaseReference.setValue(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
我尝试在FirebaseDatabase中保存包含日历的对象后,开始发生此崩溃。
问题是,现在,即使我从该对象中删除了日历,应用程序仍会崩溃,并出现相同的错误。看起来有些东西已损坏,我无法使其再次正常运行。
我已经从手机上卸载了该应用程序,请在Firebase控制台中清除数据库,但这不能解决问题。
你们其中之一可以帮助我吗?
-----编辑-----
我做了一些新的测试,实际上只有当我传入的类.setValue(...)包含此方法时,应用程序才会崩溃:
public Calendar getStartTimeCalendar() {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(startTime);
return calendar;
}
Run Code Online (Sandbox Code Playgroud) android ×5
android-ktx ×1
coroutine ×1
firebase ×1
flutter ×1
kotlin ×1
rx-android ×1
rx-java ×1
suspend ×1