* support mobile set language

okjack
jade 2 years ago
parent d4cee566d1
commit ec523f07df
  1. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java
  2. 15
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingCustomFragment.java
  3. 25
      app/src/mobile/res/layout/fragment_setting_custom.xml

@ -19,6 +19,7 @@ import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.config.WallConfig;
import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.utils.FileUtil;
import com.fongmi.android.tv.utils.LanguageUtil;
import com.fongmi.android.tv.utils.ResUtil;
import org.greenrobot.eventbus.EventBus;
@ -34,6 +35,7 @@ public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LanguageUtil.setLanguage(this.getResources(),Setting.getLanguage());
if (transparent()) setTransparent(this);
setContentView(getBinding().getRoot());
EventBus.getDefault().register(this);

@ -13,6 +13,7 @@ import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.databinding.FragmentSettingCustomBinding;
import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.ui.base.BaseFragment;
import com.fongmi.android.tv.utils.LanguageUtil;
import com.fongmi.android.tv.utils.ResUtil;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
@ -23,6 +24,8 @@ public class SettingCustomFragment extends BaseFragment {
private FragmentSettingCustomBinding mBinding;
private String[] size;
private String[] lang;
public static SettingCustomFragment newInstance() {
return new SettingCustomFragment();
}
@ -44,6 +47,7 @@ public class SettingCustomFragment extends BaseFragment {
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));
mBinding.aggregatedSearchText.setText(getSwitch(Setting.isAggregatedSearch()));
mBinding.homeChangeConfigText.setText(getSwitch(Setting.isHomeChangeConfig()));
mBinding.languageText.setText((lang = ResUtil.getStringArray(R.array.select_language))[Setting.getLanguage()]);
}
@Override
@ -56,6 +60,8 @@ public class SettingCustomFragment extends BaseFragment {
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.aggregatedSearch.setOnClickListener(this::setAggregatedSearch);
mBinding.homeChangeConfig.setOnClickListener(this::setHomeChangeConfig);
mBinding.language.setOnClickListener(this::setLanguage);
}
private boolean onTitle(View view) {
@ -111,4 +117,13 @@ public class SettingCustomFragment extends BaseFragment {
RefreshEvent.config();
}
private void setLanguage(View view) {
new MaterialAlertDialogBuilder(getActivity()).setTitle(R.string.setting_language).setNegativeButton(R.string.dialog_negative, null).setSingleChoiceItems(lang, Setting.getLanguage(), (dialog, which) -> {
mBinding.languageText.setText(lang[which]);
Setting.putLanguage(which);
dialog.dismiss();
LanguageUtil.restartApp(getActivity());
}).show();
}
}

@ -206,6 +206,31 @@
</LinearLayout>
<LinearLayout
android:id="@+id/language"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/shape_item"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_language"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/languageText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="中文" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Loading…
Cancel
Save