Fix editText focus search

release
FongMi 2 years ago
parent 3d0c5bf1c5
commit 5856ac3c3b
  1. 19
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomEditText.java
  2. 38
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomSearchView.java
  3. 2
      app/src/leanback/res/layout/activity_search.xml
  4. 2
      app/src/leanback/res/layout/dialog_config.xml
  5. 2
      app/src/leanback/res/layout/dialog_proxy.xml
  6. 2
      app/src/leanback/res/layout/dialog_ua.xml

@ -1,31 +1,24 @@
package com.fongmi.android.tv.ui.custom;
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.View;
import android.view.animation.Animation;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatEditText;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.utils.KeyUtil;
import com.fongmi.android.tv.utils.ResUtil;
public class CustomEditText extends AppCompatEditText {
private Animation flicker;
public CustomEditText(@NonNull Context context) {
super(context);
}
public CustomEditText(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
flicker = ResUtil.getAnim(R.anim.flicker);
}
private View focusSearch(KeyEvent event) {
@ -36,22 +29,10 @@ public class CustomEditText extends AppCompatEditText {
return null;
}
@Override
public boolean isFocused() {
return true;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
View v = focusSearch(event);
if (v != null) return v.requestFocus();
return super.onKeyDown(keyCode, event);
}
@Override
protected void onFocusChanged(boolean gainFocus, int direction, @Nullable Rect previouslyFocusedRect) {
super.onFocusChanged(gainFocus, direction, previouslyFocusedRect);
if (gainFocus) startAnimation(flicker);
else clearAnimation();
}
}

@ -0,0 +1,38 @@
package com.fongmi.android.tv.ui.custom;
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.animation.Animation;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.utils.ResUtil;
public class CustomSearchView extends CustomEditText {
private Animation flicker;
public CustomSearchView(@NonNull Context context) {
super(context);
}
public CustomSearchView(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
flicker = ResUtil.getAnim(R.anim.flicker);
}
@Override
public boolean isFocused() {
return true;
}
@Override
protected void onFocusChanged(boolean gainFocus, int direction, @Nullable Rect previouslyFocusedRect) {
super.onFocusChanged(gainFocus, direction, previouslyFocusedRect);
if (gainFocus) startAnimation(flicker);
else clearAnimation();
}
}

@ -57,7 +57,7 @@
android:scaleType="fitCenter"
android:src="@drawable/ic_search_mic" />
<com.fongmi.android.tv.ui.custom.CustomEditText
<com.fongmi.android.tv.ui.custom.CustomSearchView
android:id="@+id/keyword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

@ -33,7 +33,7 @@
android:layout_height="wrap_content"
android:visibility="gone" />
<EditText
<com.fongmi.android.tv.ui.custom.CustomEditText
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"

@ -27,7 +27,7 @@
android:textSize="18sp"
tools:text="@string/push_info" />
<EditText
<com.fongmi.android.tv.ui.custom.CustomEditText
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"

@ -27,7 +27,7 @@
android:textSize="18sp"
tools:text="@string/push_info" />
<EditText
<com.fongmi.android.tv.ui.custom.CustomEditText
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"

Loading…
Cancel
Save