diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java index cb20e0dbe..4624feefc 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java @@ -85,6 +85,7 @@ public class SearchActivity extends BaseActivity implements VodPresenter.OnClick @Override protected void initView() { mHandler = new Handler(Looper.getMainLooper()); + mBinding.keyword.requestFocus(); CustomKeyboard.init(mBinding); setRecyclerView(); setViewModel(); @@ -99,12 +100,6 @@ public class SearchActivity extends BaseActivity implements VodPresenter.OnClick mBinding.search.setOnClickListener(view -> onSearch()); mBinding.clear.setOnClickListener(view -> mBinding.keyword.setText("")); mBinding.remote.setOnClickListener(view -> PushActivity.start(this)); - mBinding.voice.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - - } - }); mBinding.keyword.setOnEditorActionListener((textView, actionId, event) -> { if (actionId == EditorInfo.IME_ACTION_DONE) mBinding.search.performClick(); return true; @@ -176,6 +171,7 @@ public class SearchActivity extends BaseActivity implements VodPresenter.OnClick } private void hideProgress() { + mBinding.clear.requestFocus(); mBinding.layout.setVisibility(View.VISIBLE); mBinding.progressLayout.setVisibility(View.INVISIBLE); } diff --git a/app/src/leanback/res/layout/activity_search.xml b/app/src/leanback/res/layout/activity_search.xml index 9060bd360..61162bc49 100644 --- a/app/src/leanback/res/layout/activity_search.xml +++ b/app/src/leanback/res/layout/activity_search.xml @@ -11,38 +11,59 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + android:gravity="center_vertical" + android:orientation="horizontal"> + + + + + + @@ -51,13 +72,13 @@ android:id="@+id/keyboard" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_below="@+id/keyword" - android:layout_toEndOf="@+id/word" + android:layout_alignTop="@+id/word" + android:layout_alignParentEnd="true" + android:layout_marginEnd="24dp" android:clipChildren="false" android:clipToPadding="false" android:nextFocusLeft="@id/word" android:nextFocusUp="@id/keyword" - android:padding="12dp" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" app:spanCount="10" tools:itemCount="40" @@ -69,53 +90,47 @@ android:layout_below="@+id/keyboard" android:layout_alignStart="@+id/keyboard" android:layout_alignEnd="@+id/keyboard" - android:layout_marginTop="12dp" + android:layout_marginTop="16dp" android:gravity="center" android:orientation="horizontal"> - - diff --git a/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java index 668e0f395..1c83e3196 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java @@ -1,6 +1,6 @@ package com.fongmi.android.tv.utils; -import android.graphics.drawable.Drawable; +import android.graphics.Bitmap; import android.text.TextUtils; import android.widget.ImageView; @@ -25,20 +25,21 @@ public class ImgUtil { public static void load(String vodName, String vodPic, ImageView view) { float thumbnail = 0.3f * Prefers.getThumbnail() + 0.4f; + view.setScaleType(ImageView.ScaleType.CENTER); if (TextUtils.isEmpty(vodPic)) onLoadFailed(vodName, view); - else Glide.with(App.get()).load(vodPic).sizeMultiplier(thumbnail).signature(new ObjectKey(vodPic + "_" + Prefers.getThumbnail())).placeholder(R.drawable.ic_img_loading).listener(getListener(vodName, view)).into(view); + else Glide.with(App.get()).asBitmap().load(vodPic).skipMemoryCache(true).sizeMultiplier(thumbnail).signature(new ObjectKey(vodPic + "_" + Prefers.getThumbnail())).placeholder(R.drawable.ic_img_loading).listener(getListener(vodName, view)).into(view); } - private static RequestListener getListener(String vodName, ImageView view) { + private static RequestListener getListener(String vodName, ImageView view) { return new RequestListener<>() { @Override - public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) { + public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) { ImgUtil.onLoadFailed(vodName, view); return true; } @Override - public boolean onResourceReady(Drawable resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { + public boolean onResourceReady(Bitmap resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { view.setScaleType(ImageView.ScaleType.CENTER_CROP); return false; }