新增字号设置

This commit is contained in:
2023-04-19 10:54:22 +08:00
parent 369f3f2cae
commit 181ff4274c
17 changed files with 403 additions and 10 deletions

View File

@@ -0,0 +1,125 @@
package com.yunbao.common.dialog;
import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.R;
import com.yunbao.common.dialog.AbsDialogPopupWindow;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import org.greenrobot.eventbus.EventBus;
public class LiveFontSizeSettingDialog extends AbsDialogPopupWindow {
public static final int FONT_LOW = -1;
public static final int FONT_DEF = 0;
public static final int FONT_HIGH = 1;
private int type = FONT_DEF;
private OnItemClickListener<Integer> onItemClickListener;
private RelativeLayout lineSd, lineHd, lineFhd;
private ImageView iconSd, iconHd, iconFhd;
private TextView titleSDText, titleHDText, titleFHDText;
private View submit;
public LiveFontSizeSettingDialog(@NonNull Context context, int type) {
super(context);
if (type == 10) {
this.type = FONT_LOW;
} else if (type == 16) {
this.type = FONT_HIGH;
} else {
this.type = FONT_DEF;
}
}
public LiveFontSizeSettingDialog(@NonNull Context context) {
super(context);
}
public LiveFontSizeSettingDialog setOnItemClickListener(OnItemClickListener<Integer> onItemClickListener) {
this.onItemClickListener = onItemClickListener;
return this;
}
@Override
public void buildDialog(XPopup.Builder builder) {
}
@Override
public int bindLayoutId() {
return R.layout.dialog_live_font_size;
}
@Override
protected void onCreate() {
super.onCreate();
lineSd = findViewById(R.id.line_sd);
lineHd = findViewById(R.id.line_hd);
lineFhd = findViewById(R.id.line_fhd);
submit = findViewById(R.id.submit);
iconSd = findViewById(R.id.icon_sd);
iconHd = findViewById(R.id.icon_hd);
iconFhd = findViewById(R.id.icon_fhd);
titleSDText = findViewById(R.id.sd_text);
titleHDText = findViewById(R.id.hd_text);
titleFHDText = findViewById(R.id.fhd_text);
ViewClicksAntiShake.clicksAntiShake(lineSd, () -> {
type = FONT_LOW;
updateUi();
});
ViewClicksAntiShake.clicksAntiShake(lineHd, () -> {
type = FONT_DEF;
updateUi();
});
ViewClicksAntiShake.clicksAntiShake(lineFhd, () -> {
type = FONT_HIGH;
updateUi();
});
ViewClicksAntiShake.clicksAntiShake(submit, () -> {
int fontSize = 13;
if (type == FONT_LOW) {
fontSize = 10;
} else if (type == FONT_HIGH) {
fontSize = 16;
}
onItemClickListener.onItemClick(fontSize, 0);
dismiss();
});
updateUi();
}
private void updateUi() {
if (type == FONT_DEF) {
iconSd.setVisibility(GONE);
iconFhd.setVisibility(GONE);
iconHd.setVisibility(VISIBLE);
updateUiTextSize(13);
} else if (type == FONT_LOW) {
iconHd.setVisibility(GONE);
iconFhd.setVisibility(GONE);
iconSd.setVisibility(VISIBLE);
updateUiTextSize(10);
} else {
iconSd.setVisibility(GONE);
iconHd.setVisibility(GONE);
iconFhd.setVisibility(VISIBLE);
updateUiTextSize(16);
}
}
private void updateUiTextSize(int font) {
titleSDText.setTextSize(font);
titleHDText.setTextSize(font);
titleFHDText.setTextSize(font);
}
}

View File

@@ -27,6 +27,7 @@ public class CustomDrawerPopupEvent extends BaseModel {
private boolean smallWindow = false;
//畫質選擇
private boolean qualitySelection = false;
private boolean fontSize = false;
public boolean isSmallWindow() {
return smallWindow;
@@ -135,4 +136,13 @@ public class CustomDrawerPopupEvent extends BaseModel {
this.effects = effects;
return this;
}
public boolean isFontSize() {
return fontSize;
}
public CustomDrawerPopupEvent setFontSize(boolean fontSize) {
this.fontSize = fontSize;
return this;
}
}

View File

@@ -219,6 +219,8 @@ public class CustomDrawerPopupView extends DrawerPopupView {
void reportLayout();
void share();
void changeFontSize();
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -261,6 +263,10 @@ public class CustomDrawerPopupView extends DrawerPopupView {
dismiss();
callBack.changeVideo();
}
if(event.isFontSize()){
dismiss();
callBack.changeFontSize();
}
}
if (event.isRefresh()) {

View File

@@ -22,13 +22,13 @@ public class MoreMenuPopupView extends AttachPopupView {
@Override
protected void onCreate() {
//特效设置
//字体设置
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.effects_settings_layout), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
dismiss();
Bus.get().post(new CustomDrawerPopupEvent()
.setDisMiss(true).setEffects(true));
.setDisMiss(true).setFontSize(true));
}
});
//系统通知