pull/344/head
okjack 2 years ago
parent ea207832c2
commit f6949a5e2a
  1. 19
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 7
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomViewPager.java

@ -215,6 +215,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
private void setPager() {
mBinding.pager.setAdapter(mPageAdapter = new HomeActivity.PageAdapter(getSupportFragmentManager()));
mBinding.pager.setNoScrollItem(0);
}
private void onChildSelected(@Nullable RecyclerView.ViewHolder child) {
@ -461,17 +462,15 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
boolean isHomeFragment = mBinding.pager.getCurrentItem() == 0;
if (isHomeFragment && !hasSettingButton()) {
MenuDialog.create(this).show();
} else if (isHomeFragment && KeyUtil.isMenuKey(event)) {
if (isHomeFragment && KeyUtil.isMenuKey(event)) {
if (Setting.getHomeMenuKey() == 0) MenuDialog.create(this).show();
if (Setting.getHomeMenuKey() == 1) SiteDialog.create(this).show();
if (Setting.getHomeMenuKey() == 2) HistoryDialog.create(this).type(0).show();
if (Setting.getHomeMenuKey() == 3) HistoryActivity.start(this);
if (Setting.getHomeMenuKey() == 4) SearchActivity.start(this);
if (Setting.getHomeMenuKey() == 5) PushActivity.start(this);
if (Setting.getHomeMenuKey() == 6) KeepActivity.start(this);
if (Setting.getHomeMenuKey() == 7) SettingActivity.start(this);
else if (Setting.getHomeMenuKey() == 1) SiteDialog.create(this).show();
else if (Setting.getHomeMenuKey() == 2) HistoryDialog.create(this).type(0).show();
else if (Setting.getHomeMenuKey() == 3) HistoryActivity.start(this);
else if (Setting.getHomeMenuKey() == 4) SearchActivity.start(this);
else if (Setting.getHomeMenuKey() == 5) PushActivity.start(this);
else if (Setting.getHomeMenuKey() == 6) KeepActivity.start(this);
else if (Setting.getHomeMenuKey() == 7) SettingActivity.start(this);
}
if (!isHomeFragment && KeyUtil.isMenuKey(event)) updateFilter((Class) mAdapter.get(mBinding.pager.getCurrentItem()));
if (!isHomeFragment && KeyUtil.isBackKey(event) && event.isLongPress() && getFragment().goRoot()) setCoolDown();

@ -23,6 +23,7 @@ public class CustomViewPager extends ViewPager {
private Animation shake;
private Rect rect;
private int noScrollItem;
public CustomViewPager(@NonNull Context context) {
super(context);
@ -36,6 +37,11 @@ public class CustomViewPager extends ViewPager {
private void init() {
this.rect = new Rect();
this.shake = ResUtil.getAnim(R.anim.shake);
this.noScrollItem = -1;
}
public void setNoScrollItem(int item) {
this.noScrollItem = item;
}
@Override
@ -46,6 +52,7 @@ public class CustomViewPager extends ViewPager {
@Override
public boolean executeKeyEvent(@NonNull KeyEvent event) {
if (findFocus() instanceof TextView) return false;
if (getCurrentItem() == noScrollItem) return false;
if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DPAD_LEFT) return arrowScroll(FOCUS_LEFT);
if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT) return arrowScroll(FOCUS_RIGHT);
return false;

Loading…
Cancel
Save