Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.nurrohim.moviedicoding;
- import android.app.FragmentManager;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.design.widget.FloatingActionButton;
- import android.support.design.widget.Snackbar;
- import android.support.design.widget.TabLayout;
- import android.support.v4.view.ViewPager;
- import android.support.v7.widget.ToolbarWidgetWrapper;
- import android.text.Editable;
- import android.text.TextWatcher;
- import android.util.Log;
- import android.view.Gravity;
- import android.view.View;
- import android.support.design.widget.NavigationView;
- import android.support.v4.view.GravityCompat;
- import android.support.v4.widget.DrawerLayout;
- import android.support.v7.app.ActionBarDrawerToggle;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.view.Menu;
- import android.view.MenuItem;
- import com.example.nurrohim.moviedicoding.adapter.MoviesAdapter;
- import com.example.nurrohim.moviedicoding.fragment.NowPlayingFragment;
- import com.example.nurrohim.moviedicoding.model.search.ResultsItem;
- import com.mancj.materialsearchbar.MaterialSearchBar;
- import java.util.ArrayList;
- import butterknife.BindView;
- import butterknife.ButterKnife;
- public class MainActivity extends AppCompatActivity
- implements NavigationView.OnNavigationItemSelectedListener, MaterialSearchBar.OnSearchActionListener,TabLayout.OnTabSelectedListener {
- private int mCounter;
- @BindView(R.id.searchBar)
- MaterialSearchBar searchBar;
- @BindView(R.id.toolbar)
- Toolbar toolbar;
- @BindView(R.id.drawer_layout)
- DrawerLayout drawer;
- @BindView(R.id.nav_view)
- NavigationView navigationView;
- @BindView(R.id.tab_layout)
- TabLayout tabLayout;
- @BindView(R.id.view_pager)
- ViewPager viewPager;
- private String query = "";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- ButterKnife.bind(this);
- setSupportActionBar(toolbar);
- getSupportActionBar().setTitle("Movies");
- setupDrawer();
- setupTab();
- selectNav(0);
- searchBar.setOnSearchActionListener(this);
- searchBar.inflateMenu(R.menu.menu_utama);
- searchBar.setText("");
- Log.d("LOG_TAG", getClass().getSimpleName() + ": text " + searchBar.getText());
- searchBar.setCardViewElevation(10);
- searchBar.addTextChangeListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
- }
- @Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
- Log.d("LOG_TAG", getClass().getSimpleName() + " text changed " + searchBar.getText());
- }
- @Override
- public void afterTextChanged(Editable editable) {
- }
- });
- }
- @Override
- public void onBackPressed() {
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- if (drawer.isDrawerOpen(GravityCompat.START)) {
- drawer.closeDrawer(GravityCompat.START);
- } else {
- super.onBackPressed();
- }
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_utama, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_setting) {
- startActivity(new Intent(MainActivity.this, SettingsActivity.class));
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- @Override
- public void onSearchStateChanged(boolean enabled) {
- }
- @Override
- public void onSearchConfirmed(CharSequence text) {
- query=String.valueOf(text);
- Intent intent = new Intent(getApplicationContext(), SearchActivity.class);
- intent.putExtra(SearchActivity.MOVIE_TITLE, query);
- startActivity(intent);
- }
- @Override
- public void onButtonClicked(int buttonCode) {
- switch (buttonCode){
- case MaterialSearchBar.BUTTON_NAVIGATION:
- drawer.openDrawer(Gravity.LEFT);
- break;
- case MaterialSearchBar.BUTTON_SPEECH:
- break;
- case MaterialSearchBar.BUTTON_BACK:
- searchBar.disableSearch();
- break;
- }
- }
- @SuppressWarnings("StatementWithEmptyBody")
- @Override
- public boolean onNavigationItemSelected(MenuItem item) {
- // Handle navigation view item clicks here.
- int id = item.getItemId();
- if (id == R.id.nav_camera) {
- selectTab(0);
- } else if (id == R.id.nav_gallery) {
- selectTab(1);
- } else if (id == R.id.nav_slideshow) {
- selectTab(2);
- }else if (id == R.id.nav_setting){
- startActivity(new Intent(MainActivity.this, SettingsActivity.class));
- }
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }
- @Override
- public void onTabSelected(TabLayout.Tab tab) {
- selectNav(tab.getPosition());
- }
- @Override
- public void onTabUnselected(TabLayout.Tab tab) {
- }
- @Override
- public void onTabReselected(TabLayout.Tab tab) {
- }
- private void setupDrawer() {
- ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
- this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
- drawer.setDrawerListener(toggle);
- toggle.syncState();
- navigationView.setNavigationItemSelectedListener(this);
- }
- private void setupTab() {
- viewPager.setAdapter(new TabAdapterPager(getSupportFragmentManager()));
- tabLayout.setupWithViewPager(viewPager);
- //String hello = String.format(getResources().getString(R.string.now_playing));
- tabLayout.getTabAt(0).setText(getResources().getString(R.string.now_playing));
- tabLayout.getTabAt(1).setText(getResources().getString(R.string.upcoming));
- tabLayout.getTabAt(2).setText("Favorit");
- tabLayout.setOnTabSelectedListener(this);
- }
- private void selectNav(int navNumber) {
- navigationView.getMenu().getItem(navNumber).setChecked(true);
- }
- private void selectTab(int tabNumber) {
- tabLayout.getTabAt(tabNumber).select();
- }
- private void setActionBarTitle(String title){
- getSupportActionBar().setTitle(title);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement