小编Jac*_*ień的帖子

带有SnackBar和CoordinatorLayout的FloatingActionButton不能与proguard一起使用

在启用proguard的情况下,这段简单的代码将无法正常工作:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/coordinator_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/show"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:layout_marginTop="40dp"
        android:text="Show snackbar" />


    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:src="@drawable/ic_save_white_24dp"
        app:layout_anchorGravity="bottom|right|end" />


</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

期望的行为FloatingActionButton在显示SnackBar时已被推翻,但直到我禁用proguard才会发生.

没有教程也涵盖了这一点,因为新项目默认禁用了proguard;)

有人知道设计支持库的proguard配置吗?

android android-snackbar androiddesignsupport android-coordinatorlayout

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

迭代主菜单的项目(包括子项目)

我正在尝试迭代所有主菜单的项目.问题从子菜单项开始.像Menu.Items [i] .Items [j] .Items [k]这样的结构看起来不容易操作.有什么办法吗?


我的目标是列出所有项目标题.

delphi iteration menu

7
推荐指数
2
解决办法
4062
查看次数

片段隐藏动画不播放

我正试图用幻灯片动画切换我的片段

使用此代码:

FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();        
SearchPanelFragment existingFragment = (SearchPanelFragment) manager.findFragmentByTag(SearchPanelFragment.FRAGMENT_NAME);        
transaction.setCustomAnimations(R.xml.slide_down_search_panel, R.xml.slide_up_search_panel);        
if (existingFragment != null) {
    if (existingFragment.isVisible())
        transaction.remove(existingFragment);       
} else {
    transaction.add(R.id.top_panel_fragment, new SearchPanelFragment(this), SearchPanelFragment.FRAGMENT_NAME);
}

    transaction.commit();
Run Code Online (Sandbox Code Playgroud)

到目前为止,我只进入transaction.add动画播出何时退出动画?我只能在使用时得到它,transaction.replace但后来我只是用一个相同的新片段交换一个旧片段,我想要的是隐藏/删除/分离/无论它是什么使它消失,并且退出动画播放

编辑:我试图隐藏,删除和分离.无论我做什么,动画都不会播放.它只在添加,显示和替换时播放

编辑2:第二个动画可能有问题.请看看他们两个.第一个滑下来,似乎工作得很好.

滑下

<translate
    android:duration="500"
    android:fromXDelta="0%"
    android:fromYDelta="-100%"
    android:toXDelta="0%"
    android:toYDelta="0%" />
Run Code Online (Sandbox Code Playgroud)

向上滑动

<translate
    android:duration="700"
    android:fromXDelta="0%"
    android:fromYDelta="0%"
    android:toXDelta="0%"
    android:toYDelta="-100%" />
Run Code Online (Sandbox Code Playgroud)

android android-animation android-fragments

7
推荐指数
2
解决办法
7440
查看次数

如何在对话框关闭时隐藏键盘

我有Activity单身Fragment就可以了.EditText片段上有一个.

一旦片段显示,键盘就会弹出,但我设法在清单android中阻止它设置:windowSoftInputMode ="stateHidden"

但是,还有一个按钮,用于打开另一个EditText的对话框.

我有一个方法可以在对话框关闭时自动关闭键盘.

public static void closeInput(final View caller) {      
    caller.post(new Runnable() {
        @Override
        public void run() {
            InputMethodManager imm = (InputMethodManager) caller.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(caller.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

这个方法不是很糟糕,而且有些不对劲.Dialog EditTextinputType="numberDecimal".在closeInput()似乎不关闭键盘时,仅将其改为默认的字母排列状态.

这里发生了什么?

android android-keypad android-softkeyboard

7
推荐指数
3
解决办法
8379
查看次数

在retryOn中将Retrofit2与rx一起使用时出现InterruptedIOException

我正在使用rx-android改装2

我有相当复杂的重试逻辑,部分工作.我切断了不相关的代码来简化它.这里是:

public class RetryWithDelay implements Func1<Observable<? extends Throwable>, Observable<?>>, Constants {

@Override
public Observable<?> call(Observable<? extends Throwable> attempts) {
    return attempts.flatMap(new Func1<Throwable, Observable<?>>() {

        @Override
        public Observable<?> call(Throwable throwable) {
            int statusCode = 500;
            if (throwable instanceof HttpException) {
                HttpException httpException = (HttpException) throwable;
                statusCode = httpException.code();
            }

            boolean shouldRetry = shouldRetry();

            if (shouldRetry && statusCode == 401 && requiresAuthorization) {
                LoginProvider provider = AppUtils.getExternalProvider(context);
                switch (provider) {
                    case GOOGLE:
                        return reauthorizeGoogleProvider();
                    case FACEBOOK:
                        return reauthorizeFacebookProvider();
                    default: …
Run Code Online (Sandbox Code Playgroud)

android rx-java okhttp rx-android retrofit2

7
推荐指数
0
解决办法
1595
查看次数

撰写中两个活动之间的共享元素转换?

目前是否有任何东西可以允许在 Jetpack Compose 中使用共享元素动画在结果列表和详细信息屏幕之间制作经典过渡动画?像这样的东西。

我知道一些实验库允许这样做,但它们都适用于单一活动,我想知道更传统的方法有两个活动。

android android-animation android-jetpack-compose

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

在项目中存储声音文件的位置以及选择哪种解决方案来存储对它们的引用?

我正在制作一些花哨的应用程序,需要很多短音才能使用它.几乎没有问题你可以回答.

  • 我在android项目中存储的地方有一些限制吗?目前我把它们放在bin/res/sounds文件夹中.

  • 是否对文件格式有限制并且.wav可以吗?

  • 我需要一些东西来存储对那些声音的引用.我想出了一个字典,它包含一个声音名称(键)和一个文件路径,所以我可以使用这种方法:

    mp = MediaPlayer.create(Test.this, R.raw.mysound);

我应该如何存储R.raw.mysound,它不是一个字符串对吗?

我道歉如果我对一切都不太清楚,我会尽我所能.干杯

android android-music-player android-file

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

如何在iOS上获得当地时间

我注意到这NSDate *nowDate = [NSDate date];给了我GMT + 0时间而不是当地时间.所以基本上在我的iPad上是13:00,这段代码的输出是12:00.

我如何正确地获得当地时间?

objective-c nsdate ios

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

仅在特定片段上禁用右抽屉

我有ActivityDrawerLayout(其中包含左和右抽屉).我想知道我是否可以禁用特定碎片的右抽屉.

我已经读到了mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED),但它会锁定整个抽屉,我仍然需要左抽屉

android android-activity drawerlayout

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

返回 2 个屏幕时,Android 活动返回转换刹车

我做了一个简单的例子来证明ActivityOptions.makeSceneTransitionAnimation(activity).

我有 3 个活动:A、B 和 C。流程很简单:A -> B -> C

所有活动都具有相同的风格:

<style name="TransitionsTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="android:windowEnterTransition">@transition/slide_in_from_bottom</item>
    <item name="android:windowExitTransition">@transition/slide_out_to_bottom</item>
</style>
Run Code Online (Sandbox Code Playgroud)

每当我去:不播放A -> B -> C -> B (back button) -> A (back button)最后一个动画(A -> C)

仅在执行时它工作正常 A -> B -> A (back button)

以下是我开始活动的方式:

fun start(activity: Activity) {
            val intent = Intent(activity, TransitionActivityA::class.java) //or B or C
            val transitionsOptions = ActivityOptions.makeSceneTransitionAnimation(activity)
            activity.startActivity(intent, transitionsOptions.toBundle())
        }
Run Code Online (Sandbox Code Playgroud)

演示该问题的应用程序:https : //github.com/jkwiecien/AndroidCaseStudies/tree/transitions 使用分支transitions

这是Android错误还是我做错了什么?

android android-animation android-support-library android-transitions

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