From ff2cc636a705047f5dfc9a4c5fac350f4c1d01ce Mon Sep 17 00:00:00 2001 From: kfl_614 Date: Thu, 2 Apr 2020 19:14:47 +0800 Subject: [PATCH] =?utf8?q?1.=E4=BF=AE=E5=A4=8D=E5=BC=80=E6=9C=BA=E5=90=AF?= =?utf8?q?=E5=8A=A8=E5=8F=AF=E8=83=BD=E5=87=BA=E7=8E=B0=E7=9A=84=E7=A9=BA?= =?utf8?q?=E6=8C=87=E9=92=88=E5=BC=82=E5=B8=B8=E3=80=82=202.=E4=BF=AE?= =?utf8?q?=E5=A4=8D=E5=BC=80=E6=9C=BA=E8=A2=AB=E5=8A=A0=E8=BD=BD=E4=B8=A4?= =?utf8?q?=E6=AC=A1=E3=80=82=203.=E4=BC=98=E5=8C=96APP=E6=BB=91=E5=8A=A8?= =?utf8?q?=E5=8A=A8=E7=94=BB=204.=E4=BC=98=E5=8C=96Fragment=E5=88=87?= =?utf8?q?=E6=8D=A2=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: kfl_614 --- app/src/main/AndroidManifest.xml | 3 +- .../java/com/ic/launcher/FragmentManage.java | 11 +- .../ic/launcher/IcLauncherApplication.java | 21 +++ .../java/com/ic/launcher/MainActivity.java | 8 +- .../ic/launcher/fragment/AppListFragment.java | 145 +++++++++++------- .../ic/launcher/fragment/BaseFragment.java | 27 ++++ .../listener/IChangeMainFragmentListener.java | 2 +- .../java/com/ic/launcher/mode/AppModel.java | 3 +- .../java/com/ic/launcher/mode/BaseModel.java | 1 - .../com/ic/launcher/mode/L02MainModel.java | 5 +- .../presenter/PhoneStatePresenter.java | 5 - app/src/main/res/anim/slide_left_to_right.xml | 9 ++ app/src/main/res/anim/slide_right_to_left.xml | 10 ++ app/src/main/res/layout/fragment_app_list.xml | 5 +- app/src/main/res/layout/item_app_layout.xml | 3 +- app/src/main/res/values/dimens.xml | 3 + app/version_code.properties | 4 +- 17 files changed, 185 insertions(+), 80 deletions(-) create mode 100644 app/src/main/res/anim/slide_left_to_right.xml create mode 100644 app/src/main/res/anim/slide_right_to_left.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3f4551a..4bacd10 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -37,7 +37,8 @@ - + diff --git a/app/src/main/java/com/ic/launcher/FragmentManage.java b/app/src/main/java/com/ic/launcher/FragmentManage.java index ed9a272..6698577 100644 --- a/app/src/main/java/com/ic/launcher/FragmentManage.java +++ b/app/src/main/java/com/ic/launcher/FragmentManage.java @@ -8,6 +8,7 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import com.ic.launcher.fragment.AppListFragment; +import com.ic.launcher.fragment.BaseFragment; import com.ic.launcher.fragment.L02MainFragment; import com.ic.launcher.fragment.LowPowerModeFragment; import com.ic.launcher.fragment.clock.Clock12DialFragment; @@ -31,6 +32,7 @@ public class FragmentManage { private FragmentManager ftManager; + FragmentManage(Context context, FragmentManager ftManager) { this.ftManager = ftManager; mAddFt = new SparseArray<>(); @@ -42,12 +44,13 @@ public class FragmentManage { * 可能的值为 {@link Clock6DialFragment} 或者 {@link Clock12DialFragment} 模拟表盘 */ - void showCurrMainFragment(boolean finish) { + void showCurrMainFragment(boolean finish, int direction) { Fragment fragment = getFragmentList(MAIN_FRAGMENT_INDEX); if (fragment == null) { fragment = getCurrMainFragment(); addFragmentList(MAIN_FRAGMENT_INDEX, fragment); } + ((BaseFragment) fragment).setEnterDirection(direction); addOrShowFragment(finish, fragment); } @@ -80,7 +83,7 @@ public class FragmentManage { } if (mAddFt.get(1).isVisible()) { - showCurrMainFragment(finish); + showCurrMainFragment(finish, 0); return true; } @@ -144,7 +147,7 @@ public class FragmentManage { FragmentTransaction ft = ftManager.beginTransaction(); Fragment dd = mAddFt.get(MAIN_FRAGMENT_INDEX); - if(dd != null){ + if (dd != null) { ft.remove(mAddFt.get(MAIN_FRAGMENT_INDEX)); mAddFt.remove(MAIN_FRAGMENT_INDEX); } @@ -190,7 +193,7 @@ public class FragmentManage { } } - ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE); + ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); if (fragment.isAdded()) { ft.show(fragment); diff --git a/app/src/main/java/com/ic/launcher/IcLauncherApplication.java b/app/src/main/java/com/ic/launcher/IcLauncherApplication.java index 0b2a896..5d0b3d8 100644 --- a/app/src/main/java/com/ic/launcher/IcLauncherApplication.java +++ b/app/src/main/java/com/ic/launcher/IcLauncherApplication.java @@ -2,7 +2,10 @@ package com.ic.launcher; import android.app.Application; +import com.ic.launcher.presenter.AppListPresenter; import com.ic.launcher.presenter.BatteryPresenter; +import com.ic.launcher.presenter.HardwarePresenter; +import com.ic.launcher.presenter.PhoneStatePresenter; import com.ic.launcher.presenter.TimeDatePresenter; import com.ic.launcher.util.CrashHandler; import com.ic.launcher.util.IcLog; @@ -12,6 +15,9 @@ public class IcLauncherApplication extends Application { private TimeDatePresenter timeDatePresenter; private BatteryPresenter batteryPresenter; + private AppListPresenter appListPresenter; + private HardwarePresenter hardwarePresenter; + private PhoneStatePresenter phonePresenter; @Override public void onCreate() { @@ -24,6 +30,9 @@ public class IcLauncherApplication extends Application { timeDatePresenter = new TimeDatePresenter(this); batteryPresenter = new BatteryPresenter(this); + appListPresenter = new AppListPresenter(this); + hardwarePresenter = new HardwarePresenter(this); + phonePresenter = new PhoneStatePresenter(this); } public TimeDatePresenter getTimeDatePresenter() { @@ -33,4 +42,16 @@ public class IcLauncherApplication extends Application { public BatteryPresenter getBatteryPresenter() { return batteryPresenter; } + + public AppListPresenter getAppListPresenter() { + return appListPresenter; + } + + public HardwarePresenter getHardwarePresenter() { + return hardwarePresenter; + } + + public PhoneStatePresenter getPhonePresenter() { + return phonePresenter; + } } diff --git a/app/src/main/java/com/ic/launcher/MainActivity.java b/app/src/main/java/com/ic/launcher/MainActivity.java index 529fadf..d8c431f 100644 --- a/app/src/main/java/com/ic/launcher/MainActivity.java +++ b/app/src/main/java/com/ic/launcher/MainActivity.java @@ -36,14 +36,14 @@ public class MainActivity extends AppCompatActivity implements super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ftManage = new FragmentManage(this,getSupportFragmentManager()); - ftManage.showCurrMainFragment(isFinishing()); + ftManage.showCurrMainFragment(isFinishing(),0); ((IcLauncherApplication)getApplication()).getBatteryPresenter().registerBatteryReceiver(); ((IcLauncherApplication)getApplication()).getTimeDatePresenter().registerTimeDateReceiver(); registerChangeClockReceiver(); ServiceUtil.startServiceUtil(getApplicationContext(), - "com.ic.action.WORK_SERVICE", getPackageName()); + "com.ic.action.WORK_SERVICE", getPackageName()); } @Override @@ -76,8 +76,8 @@ public class MainActivity extends AppCompatActivity implements } @Override - public void onChangeMain() { - ftManage.showCurrMainFragment(isFinishing()); + public void onChangeMain(int direction) { + ftManage.showCurrMainFragment(isFinishing(),direction); } @Override diff --git a/app/src/main/java/com/ic/launcher/fragment/AppListFragment.java b/app/src/main/java/com/ic/launcher/fragment/AppListFragment.java index 6d3c3f2..d7048ca 100644 --- a/app/src/main/java/com/ic/launcher/fragment/AppListFragment.java +++ b/app/src/main/java/com/ic/launcher/fragment/AppListFragment.java @@ -6,16 +6,21 @@ import android.graphics.Rect; import android.os.Bundle; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.PluralsRes; import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentActivity; +import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.ViewModelProvider; import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.PagerSnapHelper; import androidx.recyclerview.widget.RecyclerView; +import androidx.viewpager2.widget.ViewPager2; +import android.os.SystemClock; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; import android.widget.Toast; import com.ic.launcher.IcLauncherApplication; @@ -27,32 +32,38 @@ import com.ic.launcher.listener.ICheckAppItemListener; import com.ic.launcher.mode.AppModel; import com.ic.launcher.util.IcLog; +import static java.lang.Math.abs; + public class AppListFragment extends Fragment { private static final String TAG = "AppListFragment"; private Context mContext; - private RecyclerView mAppRv; + private ViewPager2 mAppRv; private AppModel appModel; - private IChangeMainFragmentListener changeMainFragmentListener; + private IChangeMainFragmentListener changeListener; private AppInfoAdapter appAdapter; private RecyclerView indicatorRv; private IndicatorAdapter indicatorAdapter; + private int pageTranslationX; + //1 显示第一个 2 显示最后一个 private int mCurrType; + private int mEntryDirection; + private boolean isExecute = false; @Override public void onAttach(@NonNull Context context) { super.onAttach(context); mContext = context; if (context instanceof IChangeMainFragmentListener) { - changeMainFragmentListener = (IChangeMainFragmentListener) context; + changeListener = (IChangeMainFragmentListener) context; } } @@ -60,6 +71,7 @@ public class AppListFragment extends Fragment { AppListFragment fragment = new AppListFragment(); Bundle args = new Bundle(); args.putInt("type", type); + args.putInt("direction", type); fragment.setArguments(args); return fragment; } @@ -70,6 +82,7 @@ public class AppListFragment extends Fragment { Bundle bundle = getArguments(); if (bundle != null) { mCurrType = bundle.getInt("type"); + mEntryDirection = bundle.getInt("direction"); } appModel = initFragmentModel(); @@ -92,20 +105,24 @@ public class AppListFragment extends Fragment { super.onResume(); if (mCurrType == 2) { //只有初始化进来的时候才执行, - mAppRv.scrollToPosition(appAdapter.getAppEndIndex()); + mAppRv.setCurrentItem(appAdapter.getAppEndIndex(), false); indicatorAdapter.updateIndicatorState(appAdapter.getAppEndIndex()); - mCurrType = 0; + mCurrType = -1; } } public void setMoveEndItem(boolean move) { if (move) { - mAppRv.scrollToPosition(appAdapter.getAppEndIndex()); + mAppRv.setCurrentItem(appAdapter.getAppEndIndex(), false); indicatorAdapter.updateIndicatorState(appAdapter.getAppEndIndex()); + mEntryDirection = 2; } else { - mAppRv.scrollToPosition(0); + mAppRv.setCurrentItem(0, false); indicatorAdapter.updateIndicatorState(0); + mEntryDirection = 1; } + + isExecute = false; } private AppModel initFragmentModel() { @@ -122,15 +139,18 @@ public class AppListFragment extends Fragment { private void initRecyclerView() { appAdapter = new AppInfoAdapter(mContext, itemListener); - LinearLayoutManager mLayoutManager = new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false); - - mAppRv.setLayoutManager(mLayoutManager); mAppRv.setAdapter(appAdapter); + mAppRv.registerOnPageChangeCallback(scrollListener); + mAppRv.setOffscreenPageLimit(1); + int nextItemVisiblePx = (int) getResources().getDimension(R.dimen.app_next_item_visible); + int currentItemHorizontalMarginPx = (int) getResources().getDimension(R.dimen.app_current_item_horizontal_margin); + pageTranslationX = nextItemVisiblePx + currentItemHorizontalMarginPx; - new PagerSnapHelper().attachToRecyclerView(mAppRv); + mAppRv.setPageTransformer(new CustomPageTransformer()); + mAppRv.addItemDecoration(new SpacesItemDecoration(currentItemHorizontalMarginPx)); - mAppRv.addOnScrollListener(scrollListener); + ((RecyclerView) mAppRv.getChildAt(0)).setOverScrollMode(RecyclerView.OVER_SCROLL_NEVER); } private void initIndicator(boolean[] state) { @@ -141,56 +161,46 @@ public class AppListFragment extends Fragment { indicatorRv.setAdapter(indicatorAdapter); } - private RecyclerView.OnScrollListener scrollListener = new RecyclerView.OnScrollListener() { + private ViewPager2.OnPageChangeCallback scrollListener = new ViewPager2.OnPageChangeCallback() { private boolean isJudge = true; + private int pos = -1; @Override - public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) { - super.onScrollStateChanged(recyclerView, newState); - //IcLog.i(TAG, "newState:" + newState); - switch (newState) { - case RecyclerView.SCROLL_STATE_IDLE: - judgeItemPosition(recyclerView, isJudge); - break; - case RecyclerView.SCROLL_STATE_DRAGGING: - isJudge = true; - break; - case RecyclerView.SCROLL_STATE_SETTLING: - isJudge = false; - break; - } + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + super.onPageScrolled(position, positionOffset, positionOffsetPixels); } @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { - super.onScrolled(recyclerView, dx, dy); + public void onPageSelected(int position) { + super.onPageSelected(position); + IcLog.i(TAG, "onPageSelected:" + position); + indicatorAdapter.updateIndicatorState(position); + pos = position; + isExecute = false; } - private void judgeItemPosition(RecyclerView recyclerView, boolean isJudge) { - LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager(); - if (manager == null) return; - //获取最后一个完全显示的ItemPosition ,角标值 - int first = manager.findFirstVisibleItemPosition(); - indicatorAdapter.updateIndicatorState(first); - if (!isJudge) { - return; - } - int lastVisibleItem = manager.findLastCompletelyVisibleItemPosition(); - //所有条目,数量值 - int totalItemCount = manager.getItemCount(); - - // 判断是否滚动到底部,并且是向右滚动 - if (lastVisibleItem == (totalItemCount - 1)) { - //加载更多功能的代码 - IcLog.i(TAG, "lastVisibleItem:" + lastVisibleItem); - changeMainFragmentListener.onChangeMain(); - } - - if (lastVisibleItem == 0) { - //加载更多功能的代码 - IcLog.i(TAG, "Start VisibleItem:" + lastVisibleItem); - changeMainFragmentListener.onChangeMain(); + @Override + public void onPageScrollStateChanged(int state) { + super.onPageScrollStateChanged(state); + switch (state) { + case ViewPager2.SCROLL_STATE_IDLE: + IcLog.i(TAG, "newState:" + state + ",isExecute:" + isExecute); + if (isJudge && !isExecute) { + if (pos == 0) { + changeListener.onChangeMain(1); + } else if (pos == appAdapter.getAppEndIndex()) { + changeListener.onChangeMain(2); + } + isExecute = true; + } + break; + case ViewPager2.SCROLL_STATE_DRAGGING: + isJudge = true; + break; + case ViewPager2.SCROLL_STATE_SETTLING: + isJudge = false; + break; } } }; @@ -210,5 +220,30 @@ public class AppListFragment extends Fragment { } } + public class CustomPageTransformer implements ViewPager2.PageTransformer { + @Override + public void transformPage(@NonNull View page, float position) { + page.setTranslationX(-pageTranslationX * position); + page.setScaleY(1 - (0.25f * abs(position))); + page.setScaleX(1 - (0.25f * abs(position))); + } + } + private ICheckAppItemListener itemListener = pos -> appModel.onStartAppActivity(pos); + + + @Nullable + @Override + public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) { + IcLog.i(TAG, "CreateAnimation transit" + transit + ",enter:" + enter + ",nextAnim" + nextAnim); + if (transit == FragmentTransaction.TRANSIT_FRAGMENT_OPEN && enter) { + switch (mEntryDirection) { + case 1: + return AnimationUtils.loadAnimation(getContext(), R.anim.slide_right_to_left); + case 2: + return AnimationUtils.loadAnimation(getContext(), R.anim.slide_left_to_right); + } + } + return null; + } } diff --git a/app/src/main/java/com/ic/launcher/fragment/BaseFragment.java b/app/src/main/java/com/ic/launcher/fragment/BaseFragment.java index ee7dccf..a56a84d 100644 --- a/app/src/main/java/com/ic/launcher/fragment/BaseFragment.java +++ b/app/src/main/java/com/ic/launcher/fragment/BaseFragment.java @@ -5,14 +5,18 @@ import android.app.Application; import android.content.Context; import android.os.Bundle; import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.view.GestureDetectorCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; +import androidx.fragment.app.FragmentTransaction; import com.ic.launcher.IcLauncherApplication; +import com.ic.launcher.R; import com.ic.launcher.listener.MainClockGestureDetectorImpl; import com.ic.launcher.mode.BaseModel; import com.ic.launcher.util.IcLog; @@ -28,6 +32,8 @@ public abstract class BaseFragment extends Fragment { private GestureDetectorCompat gesture; private MainClockGestureDetectorImpl.OnClockGestureFlingListener flingListener; + private int mEntryDirection=0; + @Override public void onAttach(@NonNull Context context) { super.onAttach(context); @@ -94,4 +100,25 @@ public abstract class BaseFragment extends Fragment { return true; }); } + + public void setEnterDirection(int direction){ + IcLog.i(TAG,"setEnterDirection:"+mEntryDirection); + mEntryDirection = direction; + } + + + @Nullable + @Override + public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) { + IcLog.i(TAG,"CreateAnimation transit"+transit+",enter:"+enter+",nextAnim"+nextAnim+",mEntryDirection:"+mEntryDirection); + if (transit == FragmentTransaction.TRANSIT_FRAGMENT_OPEN && enter) { + /**switch (mEntryDirection){ + case 1: + return AnimationUtils.loadAnimation(getContext(), R.anim.slide_left_to_right); + case 2: + return AnimationUtils.loadAnimation(getContext(), R.anim.slide_right_to_left); + }**/ + } + return super.onCreateAnimation(transit,enter,nextAnim); + } } diff --git a/app/src/main/java/com/ic/launcher/listener/IChangeMainFragmentListener.java b/app/src/main/java/com/ic/launcher/listener/IChangeMainFragmentListener.java index 3622e12..d0bf434 100644 --- a/app/src/main/java/com/ic/launcher/listener/IChangeMainFragmentListener.java +++ b/app/src/main/java/com/ic/launcher/listener/IChangeMainFragmentListener.java @@ -1,5 +1,5 @@ package com.ic.launcher.listener; public interface IChangeMainFragmentListener { - void onChangeMain(); + void onChangeMain(int direction); } diff --git a/app/src/main/java/com/ic/launcher/mode/AppModel.java b/app/src/main/java/com/ic/launcher/mode/AppModel.java index c7230f5..c063afd 100644 --- a/app/src/main/java/com/ic/launcher/mode/AppModel.java +++ b/app/src/main/java/com/ic/launcher/mode/AppModel.java @@ -8,6 +8,7 @@ import androidx.lifecycle.LiveData; import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModelProvider; +import com.ic.launcher.IcLauncherApplication; import com.ic.launcher.entity.AppInfoEntity; import com.ic.launcher.presenter.AppListPresenter; @@ -19,7 +20,7 @@ public class AppModel extends AndroidViewModel { private AppModel(Application application) { super(application); - appListPresenter = new AppListPresenter(application); + appListPresenter = ((IcLauncherApplication)application).getAppListPresenter(); } diff --git a/app/src/main/java/com/ic/launcher/mode/BaseModel.java b/app/src/main/java/com/ic/launcher/mode/BaseModel.java index 15651a3..912d427 100644 --- a/app/src/main/java/com/ic/launcher/mode/BaseModel.java +++ b/app/src/main/java/com/ic/launcher/mode/BaseModel.java @@ -61,7 +61,6 @@ public abstract class BaseModel extends AndroidViewModel { public void OnUiDestroy() { for (int i = 0; i < mPresenter.size(); i++) { mPresenter.valueAt(i).onPresenterDestroy(); - mPresenter.remove(i); } } diff --git a/app/src/main/java/com/ic/launcher/mode/L02MainModel.java b/app/src/main/java/com/ic/launcher/mode/L02MainModel.java index dfb623b..8570496 100644 --- a/app/src/main/java/com/ic/launcher/mode/L02MainModel.java +++ b/app/src/main/java/com/ic/launcher/mode/L02MainModel.java @@ -7,6 +7,7 @@ import androidx.lifecycle.LiveData; import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModelProvider; +import com.ic.launcher.IcLauncherApplication; import com.ic.launcher.presenter.BatteryPresenter; import com.ic.launcher.presenter.HardwarePresenter; import com.ic.launcher.presenter.PhoneStatePresenter; @@ -20,8 +21,8 @@ public class L02MainModel extends BaseModel { private L02MainModel(Application application) { super(application); - PhoneStatePresenter phonePresenter = new PhoneStatePresenter(application.getApplicationContext()); - HardwarePresenter hardwarePresenter = new HardwarePresenter(application.getApplicationContext()); + PhoneStatePresenter phonePresenter = ((IcLauncherApplication)application).getPhonePresenter(); + HardwarePresenter hardwarePresenter = ((IcLauncherApplication)application).getHardwarePresenter(); addPresenterList(PHONE_LIST_INDEX,phonePresenter); addPresenterList(HARDWARE_LIST_INDEX,hardwarePresenter); diff --git a/app/src/main/java/com/ic/launcher/presenter/PhoneStatePresenter.java b/app/src/main/java/com/ic/launcher/presenter/PhoneStatePresenter.java index dc2449a..0986942 100644 --- a/app/src/main/java/com/ic/launcher/presenter/PhoneStatePresenter.java +++ b/app/src/main/java/com/ic/launcher/presenter/PhoneStatePresenter.java @@ -49,11 +49,6 @@ public class PhoneStatePresenter extends PresenterCycle { } mQueryThread = null; - - if(queryState != null){ - queryState.destroyPhoneState(); - } - queryState=null; } public PhoneStatePresenter(Context context) { diff --git a/app/src/main/res/anim/slide_left_to_right.xml b/app/src/main/res/anim/slide_left_to_right.xml new file mode 100644 index 0000000..70e9304 --- /dev/null +++ b/app/src/main/res/anim/slide_left_to_right.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/slide_right_to_left.xml b/app/src/main/res/anim/slide_right_to_left.xml new file mode 100644 index 0000000..17fde63 --- /dev/null +++ b/app/src/main/res/anim/slide_right_to_left.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_app_list.xml b/app/src/main/res/layout/fragment_app_list.xml index fe75f5b..d0e2183 100644 --- a/app/src/main/res/layout/fragment_app_list.xml +++ b/app/src/main/res/layout/fragment_app_list.xml @@ -5,11 +5,10 @@ android:layout_height="match_parent" tools:context=".fragment.AppListFragment"> - + android:layout_height="match_parent"/> + android:onClick="@{() -> click.onAppItem(pos)}" + android:background="@android:color/transparent"> 26dp 42dp + + 26dp + 42dp \ No newline at end of file diff --git a/app/version_code.properties b/app/version_code.properties index 47b41f5..097f2ca 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Tue Mar 31 10:20:58 CST 2020 -VERSION_CODE=27 +#Thu Apr 02 19:06:12 CST 2020 +VERSION_CODE=29 -- 2.17.1