在启用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
我正在尝试迭代所有主菜单的项目.问题从子菜单项开始.像Menu.Items [i] .Items [j] .Items [k]这样的结构看起来不容易操作.有什么办法吗?
我的目标是列出所有项目标题.
我正试图用幻灯片动画切换我的片段
使用此代码:
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) 我有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 EditText有inputType="numberDecimal".在closeInput()似乎不关闭键盘时,仅将其改为默认的字母排列状态.
这里发生了什么?
我正在使用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) 目前是否有任何东西可以允许在 Jetpack Compose 中使用共享元素动画在结果列表和详细信息屏幕之间制作经典过渡动画?像这样的东西。
我知道一些实验库允许这样做,但它们都适用于单一活动,我想知道更传统的方法有两个活动。
我正在制作一些花哨的应用程序,需要很多短音才能使用它.几乎没有问题你可以回答.
我在android项目中存储的地方有一些限制吗?目前我把它们放在bin/res/sounds文件夹中.
是否对文件格式有限制并且.wav可以吗?
我需要一些东西来存储对那些声音的引用.我想出了一个字典,它包含一个声音名称(键)和一个文件路径,所以我可以使用这种方法:
mp = MediaPlayer.create(Test.this, R.raw.mysound);
我应该如何存储R.raw.mysound,它不是一个字符串对吗?
我道歉如果我对一切都不太清楚,我会尽我所能.干杯
我注意到这NSDate *nowDate = [NSDate date];给了我GMT + 0时间而不是当地时间.所以基本上在我的iPad上是13:00,这段代码的输出是12:00.
我如何正确地获得当地时间?
我有Activity与DrawerLayout(其中包含左和右抽屉).我想知道我是否可以禁用特定碎片的右抽屉.
我已经读到了mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED),但它会锁定整个抽屉,我仍然需要左抽屉
我做了一个简单的例子来证明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
android ×8
android-file ×1
delphi ×1
drawerlayout ×1
ios ×1
iteration ×1
menu ×1
nsdate ×1
objective-c ×1
okhttp ×1
retrofit2 ×1
rx-android ×1
rx-java ×1