Слияние кода завершено, страница обновится автоматически
[Рис. focus3.gif]
//support版本
implementation 'com.owen:tv-focusborder:1.1.4'
//androidx版本
implementation 'com.owen:tv-focusborder:2.0.0'
/** 颜色焦点框 */
FocusBorder mColorFocusBorder = new FocusBorder.Builder().asColor()
//阴影宽度(方法shadowWidth(18f)也可以设置阴影宽度)
.shadowWidth(TypedValue.COMPLEX_UNIT_DIP, 20f)
//阴影颜色
.shadowColor(Color.parseColor("#3FBB66"))
//边框宽度(метод borderWidth(2f) также может устанавливать ширину границы)
.borderWidth(TypedValue.COMPLEX_UNIT_DIP, 3.2f)
//边框颜色
.borderColor(Color.parseColor("#00FF00"))
//padding值
.padding(2f)
//动画时长
.animDuration(300)
//不要闪光动画
//.noShimmer()
//闪光颜色
.shimmerColor(Color.parseColor("#66FFFFFF"))
//闪光动画时长
.shimmerDuration(1000)
//不要呼吸灯效果
//.noBreathing()
//呼吸灯效果时长
.breathingDuration(3000)
//边框动画模式
.animMode(AbsFocusBorder.Mode.SEQUENTIALLY)
.build(this);
//焦点监听 方式一:绑定整个页面的焦点监听事件
mColorFocusBorder.boundGlobalFocusListener(new FocusBorder.OnFocusCallback() {
@Override
public FocusBorder.Options onFocus(View oldFocus, View newFocus) {
if(null != newFocus) {
switch (newFocus.getId()) {
case R.id.round_frame_layout_1:
case R.id.round_frame_layout_6:
float scale = 1.2f;
return FocusBorder.OptionsFactory.get(scale, scale, dp2px(radius) * scale);
default:
break;
}
}
//返回null表示不使用焦点框框架
return null;
}
});
/** 图片焦点框 */
FocusBorder mDrawableFocusBorder = new FocusBorder.Builder().asDrawable()
.borderDrawableRes(R.mipmap.focus)
.titleBackgroundRes(R.drawable.shape_item_title_bg)
.titleMarginBottomAutoAlignBorder()
.titleMargin(10, 0, 10, 4)
.titlePadding(10)
.titleTextColor(Color.LTGRAY)
.titleTextSize(24)
.titleWidth(ViewGroup.LayoutParams.MATCH_PARENT)
...
.build(this);
//焦点监听 方式二:单个的焦点监听事件
view.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus) {
mDrawableFocusBorder.onFocus(v, FocusBorder.OptionsFactory.get(1.2f, 1.2f));
}
}
});
С наилучшими пожеланиями,
Автор: owen
Присоединиться к группе: 484790001 (при присоединении укажите источник и цель)
[Рис. qq.png]
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )