mirror of
https://github.com/FatttSnake/OxygenToolbox.git
synced 2026-04-06 04:11:26 +08:00
Added start activity transition animation.
This commit is contained in:
@@ -39,6 +39,6 @@ public class ToolsFragment extends Fragment {
|
||||
|
||||
private void initLayout() {
|
||||
toolsRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
toolsRecyclerView.setAdapter(new ToolsAdapter());
|
||||
toolsRecyclerView.setAdapter(new ToolsAdapter(getActivity()));
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.fatapp.oxygentoolbox.ui.home.util;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.graphics.Typeface;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
@@ -23,6 +24,11 @@ import java.util.Collections;
|
||||
|
||||
public class ToolsAdapter extends RecyclerView.Adapter<ToolsAdapter.ViewHolder> {
|
||||
private ViewGroup parent;
|
||||
private Activity activity;
|
||||
|
||||
public ToolsAdapter(Activity activity) {
|
||||
this.activity = activity;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
@@ -42,7 +48,7 @@ public class ToolsAdapter extends RecyclerView.Adapter<ToolsAdapter.ViewHolder>
|
||||
View toolButtonLayout = LayoutInflater.from(parent.getContext()).inflate(R.layout.fold_layout_button, parent, false);
|
||||
Button toolButton = toolButtonLayout.findViewById(R.id.tool_button);
|
||||
toolButton.setText(button.getText());
|
||||
toolButton.setOnClickListener(view -> ToolsLauncher.launch(parent.getContext(), button.getActivity()));
|
||||
toolButton.setOnClickListener(view -> ToolsLauncher.launch(activity, parent.getContext(), button.getActivity()));
|
||||
toolButton.setOnTouchListener((view, motionEvent) -> {
|
||||
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
|
||||
view.animate().translationZ(8f).setDuration(100L);
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.fatapp.oxygentoolbox.util;
|
||||
|
||||
import static androidx.core.content.ContextCompat.startActivity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityOptions;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.widget.Toast;
|
||||
@@ -9,9 +11,9 @@ import android.widget.Toast;
|
||||
import com.fatapp.oxygentoolbox.R;
|
||||
|
||||
public class ToolsLauncher {
|
||||
public static void launch(Context context, String activity) {
|
||||
public static void launch(Activity activity, Context context, String launchActivity) {
|
||||
try {
|
||||
startActivity(context, new Intent(context, Class.forName(activity)), null);
|
||||
startActivity(context, new Intent(context, Class.forName(launchActivity)), ActivityOptions.makeSceneTransitionAnimation(activity).toBundle());
|
||||
} catch (ClassNotFoundException e) {
|
||||
Toast.makeText(context, R.string.activity_class_not_found, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
@@ -19,6 +19,10 @@
|
||||
<item name="app_ripple_theme">@color/app_ripple</item>
|
||||
<item name="app_divider_theme">@color/app_divider</item>
|
||||
|
||||
<item name="android:windowActivityTransitions">true</item>
|
||||
<item name="android:windowEnterTransition">@android:transition/fade</item>
|
||||
<item name="android:windowExitTransition">@android:transition/fade</item>
|
||||
|
||||
<!-- Primary brand color. -->
|
||||
<item name="colorPrimary">?attr/app_theme</item>
|
||||
<item name="colorPrimaryVariant">?attr/app_theme</item>
|
||||
|
||||
@@ -19,6 +19,10 @@
|
||||
<item name="app_ripple_theme">@color/app_ripple</item>
|
||||
<item name="app_divider_theme">@color/app_divider</item>
|
||||
|
||||
<item name="android:windowActivityTransitions">true</item>
|
||||
<item name="android:windowEnterTransition">@android:transition/fade</item>
|
||||
<item name="android:windowExitTransition">@android:transition/fade</item>
|
||||
|
||||
<!-- Primary brand color. -->
|
||||
<item name="colorPrimary">?attr/app_theme</item>
|
||||
<item name="colorPrimaryVariant">?attr/app_theme</item>
|
||||
|
||||
Reference in New Issue
Block a user