我有一个FloatingActionButton内部ConstraintLayout,像这样:
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_add_topic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_add"
app:layout_constraintRight_toLeftOf="parent"
app:layout_constraintBottom_toTopOf="parent"
android:foregroundGravity="right|bottom"
android:layout_marginRight="@dimen/material_tooltip_margin_top"
android:layout_marginBottom="@dimen/material_tooltip_margin_top"
android:elevation="6dp"
app:pressedTranslationZ="12dp"
app:borderWidth="0dp"/>
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
但是,当我Fragment使用Android Databinding(在Kotlin类上)扩展布局时,它不会出现.
我试图实现这里提到的解决方案,仍然在ConstraintLayout:底部对齐浮动操作按钮
如果我用Top和Left约束显示它,看起来很好.
我错过了什么?谢谢!
目前,我无法解决以下崩溃问题:java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/Instant;Android 7.1.1(牛轧糖)及以下版本会发生此类崩溃。但是我的Oreo模拟器运行Instant.parse(...)得很好。
堆栈跟踪:
java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/Instant;
at (application class)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.ClassNotFoundException: Didn't find class "java.time.Instant" on path: DexPathList[[zip file "/data/app/(app-domain)/base.apk", zip file "/data/app/(app-domain)/split_lib_dependencies_apk.apk", zip file "/data/app/(app-domain)/split_lib_slice_0_apk.apk", zip file "/data/app/(app-domain)/split_lib_slice_1_apk.apk", zip file "/data/app/(app-domain)/split_lib_slice_2_apk.apk", zip file "/data/app/(app-domain)/split_lib_slice_3_apk.apk", zip file "/data/app/(app-domain)/split_lib_slice_4_apk.apk", zip file "/data/app/(app-domain)/split_lib_slice_5_apk.apk", zip file "/data/app/(app-domain)/split_lib_slice_6_apk.apk", zip file "/data/app/(app-domain)/split_lib_slice_7_apk.apk", zip file "/data/app/(app-domain)/split_lib_slice_8_apk.apk", zip file …Run Code Online (Sandbox Code Playgroud) 我已经构建了一个 Retrofit 构建器,以便我可以使用 Retrofit 将文件发送到 Parse 数据库
public static Retrofit buildParseUpload() {
Retrofit.Builder retrofitBuilder = new Retrofit.Builder()
.baseUrl({contains server running Parse})
.addConverterFactory(GsonConverterFactory.create())
.client(authenticate());
return retrofitBuilder.build();
}
Run Code Online (Sandbox Code Playgroud)
这是authenticate():
private static OkHttpClient authenticateParse() {
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Request.Builder requestBuilder = request.newBuilder()
.header("X-Parse-Application-Id", APPLICATION_ID)
.header("X-Parse-REST-API-Key", MASTER_KEY)
.method(request.method(), request.body());
Request newRequest = requestBuilder.build();
return chain.proceed(newRequest);
}
});
OkHttpClient client = httpClient.build();
return client;
}
Run Code Online (Sandbox Code Playgroud)
这是 …
我需要这个默认的drawable,所以我可以通过编程方式将它设置为我自动生成的复选框,如下所示:
checkBox.setButtonDrawable(R.drawable.checkbox_style);
Run Code Online (Sandbox Code Playgroud)
我需要这个复选框可绘制,因为Android 4.3(Jellybean)的三星GT-I9300覆盖了上面的这种风格,如下所示:
这是我的应用主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@color/colorPrimary</item>
<item name="colorControlNormal">#88FFFFFF</item>
<item name="colorControlActivated">#88FFFFFF</item>
<item name="colorControlHighlight">@color/colorAccent</item>
<item name="android:textColorHint">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这是什么名字android.R.drawable.(...),好吗?
我通过以下堆栈跟踪遇到此崩溃:
Caused by java.lang.ClassNotFoundException
Didn't find class "java.time.Month" on path: DexPathList[[zip file "/data/app/com.my.app/base.apk"],nativeLibraryDirectories=[/data/app/com.my.app/lib/arm, /data/app/com.my.app/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass + 56(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass + 380(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass + 312(ClassLoader.java:312)
at com.my.app.root.path.to.my.Class$disableDays$1.onMonthChanged + 37(Class.java:37)
at com.applikeysolutions.cosmocalendar.view.CalendarView.containsFlag(CalendarView.java:77)
at com.applikeysolutions.cosmocalendar.view.CalendarView.onSnap + 1073(CalendarView.java:1073)
at com.applikeysolutions.cosmocalendar.utils.snap.GravityDelegate$1.onScrollStateChanged + 33(GravityDelegate.java:33)
at androidx.recyclerview.widget.RecyclerView.dispatchOnScrollStateChanged + 4998(RecyclerView.java:4998)
at androidx.recyclerview.widget.RecyclerView.setScrollState + 1545(RecyclerView.java:1545)
at androidx.recyclerview.widget.RecyclerView$ViewFlinger.run + 5134(RecyclerView.java:5134)
at android.view.Choreographer$CallbackRecord.run + 910(Choreographer.java:910)
Run Code Online (Sandbox Code Playgroud)
我认为我的应用程序可能没有被多重索引,但它已经在我的清单中被多重索引(java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/LocalDate; error);甚至以编程方式对我的应用程序进行多重索引仍然会使此问题在某些设备上回归。
有什么理由怀疑我com.applikeysolutions.cosmocalendar.view.CalendarView(https://github.com/ApplikeySolutions/CosmoCalendar)和我的 Proguard 之间的关系有问题吗?到目前为止,我的 Proguard 规则中还没有该库的条目。
谢谢你!