Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.a1.bottombar;
- import android.app.ActivityOptions;
- import android.content.Intent;
- import android.os.Build;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.design.widget.BottomNavigationView;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.CardView;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.LinearLayout;
- import android.widget.RelativeLayout;
- import android.widget.ScrollView;
- import android.widget.Spinner;
- import android.widget.TextView;
- import java.util.ArrayList;
- public class MainActivity extends AppCompatActivity {
- private Spinner spinner;
- private PrefManager prefManager;
- private byte currentMode;
- private String[] currentModes;
- private String currentModeName;
- private LinearLayout linearLayout;
- private RecyclerView recyclerViewTheory;
- private ItemAdapter itemAdapterTheory;
- private ArrayList<CardItem> listTheory;
- private View viewMain;
- private RecyclerView recyclerViewMain;
- private ArrayList<CardItem> listMain;
- private ItemAdapter itemAdapterMain;
- String[] orig, local;
- private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
- = new BottomNavigationView.OnNavigationItemSelectedListener() {
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- linearLayout.removeAllViews();
- switch (item.getItemId()) {
- case R.id.theory:
- linearLayout.addView(recyclerViewTheory);
- return true;
- case R.id.test:
- linearLayout.addView(recyclerViewMain);
- return true;
- }
- return false;
- }
- };
- private Spinner.OnItemSelectedListener spinnerClickListener = new Spinner.OnItemSelectedListener(){
- @Override
- public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
- setMode((byte) position);
- prefManager.setPref(position);
- fillMain();
- }
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- }
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- android.support.v7.app.ActionBar actionBar = getSupportActionBar();
- actionBar.setDisplayShowHomeEnabled(false);
- actionBar.setDisplayShowTitleEnabled(false);
- actionBar.setDisplayShowCustomEnabled(true);
- actionBar.setCustomView(R.layout.actionbar);
- prefManager = new PrefManager(this);
- currentModes = getResources().getStringArray(R.array.scenario_name);
- setMode(prefManager.getCurrentMode());
- spinner = actionBar.getCustomView().findViewById(R.id.spinner);
- spinner.setSelection(currentMode);
- spinner.setOnItemSelectedListener(spinnerClickListener);
- setContentView(R.layout.activity_main);
- BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
- navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
- initTheory();
- initMain();
- fillMain();
- }
- private void initTheory() {
- orig = getResources().getStringArray(R.array.menu_orig);
- local = getResources().getStringArray(R.array.menu_ru);
- linearLayout = findViewById(R.id.mainlayout);
- recyclerViewTheory = new RecyclerView(this);
- recyclerViewTheory.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
- LinearLayout.LayoutParams.MATCH_PARENT));
- recyclerViewTheory.setHasFixedSize(true);
- recyclerViewTheory.setLayoutManager(new LinearLayoutManager(this));
- listTheory = new ArrayList<>();
- for (int i = 0; i < orig.length; i++) {
- listTheory.add(new CardItem(local[i], orig[i]));
- }
- ItemAdapter.OnItemClickListener onItemClickListener = new ItemAdapter.OnItemClickListener() {
- @Override
- public void onItemClick(CardItem item, TextView v) {
- Bundle bundle = null;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
- if (v != null) {
- ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(MainActivity.this, v, MainActivity.this.getString(R.string.title_transition));
- bundle = options.toBundle();
- }
- }
- Intent intent = new Intent(MainActivity.this, TheoryActivity.class);
- intent.putExtra("Title", item.title);
- intent.putExtra("orig", item.text);
- if (bundle == null) {
- MainActivity.this.startActivity(intent);
- } else {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
- MainActivity.this.startActivity(intent, bundle);
- }
- }
- }
- };
- itemAdapterTheory = new ItemAdapter(onItemClickListener, listTheory);
- recyclerViewTheory.setAdapter(itemAdapterTheory);
- linearLayout.addView(recyclerViewTheory);
- }
- private void initMain() {
- recyclerViewMain = new RecyclerView(this);
- recyclerViewMain.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
- LinearLayout.LayoutParams.MATCH_PARENT));
- recyclerViewMain.setHasFixedSize(true);
- recyclerViewMain.setLayoutManager(new LinearLayoutManager(this));
- listMain = new ArrayList<>();
- }
- private void fillMain() {
- listMain.clear();
- for (int i = 0; i < orig.length; i++) {
- listMain.add(new CardItem("Тестирование: " + local[i], currentModeName));
- }
- itemAdapterMain = new ItemAdapter(null, listMain);
- recyclerViewMain.setAdapter(itemAdapterMain);
- }
- private void setMode(byte currentMode){
- this.currentMode = currentMode;
- currentModeName = currentModes[currentMode];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement