package com.demo.app.ui;
|
|
import android.content.DialogInterface;
|
import android.os.Bundle;
|
import android.view.KeyEvent;
|
import android.widget.RadioButton;
|
import android.widget.RadioGroup;
|
|
import com.androidquery.AQuery;
|
import com.demo.app.R;
|
import com.demo.app.ui.dialog.ExitDialog;
|
import com.demo.app.ui.main.HomeFragment;
|
import com.demo.app.ui.main.MineFragment;
|
import com.demo.lib.common.activity.BaseActivity;
|
import com.demo.lib.common.dialog.DialogUtil;
|
import com.demo.lib.common.util.FragmentSwitchHelperV2;
|
import com.demo.library_flutter.FlutterRecommendFragment;
|
import com.idlefish.flutterboost.containers.FlutterBoostFragment;
|
import com.jaeger.library.StatusBarUtil;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
|
import androidx.fragment.app.Fragment;
|
import io.flutter.embedding.android.FlutterFragment;
|
|
public class MainActivity extends BaseActivity {
|
|
private AQuery mAQuery;
|
private FragmentSwitchHelperV2 mFragmentSwitchHelper;
|
private RadioGroup rg_nav;
|
|
|
private void initFragment() {
|
List<Fragment> list = new ArrayList<>();
|
|
|
FlutterRecommendFragment flutterRecommendFragment = new FlutterBoostFragment.CachedEngineFragmentBuilder(FlutterRecommendFragment.class)
|
.url("/")
|
.urlParams(new HashMap<>())
|
.build();
|
list.add(flutterRecommendFragment);
|
|
MineFragment mineFragment = new MineFragment();
|
list.add(mineFragment);
|
|
Fragment[] fs = new Fragment[list.size()];
|
list.toArray(fs);
|
|
|
mFragmentSwitchHelper = FragmentSwitchHelperV2.create(R.id.fl_container, getSupportFragmentManager(), fs);
|
}
|
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_main);
|
mAQuery = new AQuery(this);
|
rg_nav = findViewById(R.id.rg_nav);
|
initFragment();
|
rg_nav.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
|
|
@Override
|
public void onCheckedChanged(RadioGroup group, int checkedId) {
|
switch (checkedId) {
|
case R.id.rb_nav_recommend: {
|
mFragmentSwitchHelper
|
.changeFragment(FlutterRecommendFragment.class);
|
}
|
break;
|
|
case R.id.rb_nav_mine: {
|
mFragmentSwitchHelper.changeFragment(MineFragment.class);
|
}
|
break;
|
}
|
}
|
});
|
rg_nav.post(new Runnable() {
|
@Override
|
public void run() {
|
|
((RadioButton) findViewById(R.id.rb_nav_recommend))
|
.setChecked(true);
|
}
|
});
|
|
exitDialog = new ExitDialog.Builder(this).setNegativeClickListener(new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
DialogUtil.dismiss(exitDialog);
|
MainActivity.this.finish();
|
}
|
}).setPositiveClickListener(new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
DialogUtil.dismiss(exitDialog);
|
}
|
}).create();
|
}
|
|
ExitDialog exitDialog = null;
|
|
@Override
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
if (exitDialog != null) {
|
exitDialog.show();
|
}
|
return true;
|
}
|
return super.onKeyDown(keyCode, event);
|
}
|
}
|