Android开发-DesignDemo-AndroidStudio(二)右滑菜单实现
2016-11-01 11:17
555 查看
MainActivity.java:
package com.iwanghang.designdemo; import android.support.design.widget.TabLayout; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; import java.util.ArrayList; import java.util.List; import java.util.Locale; /** * Created by iwanghang on 2016/10/31. */ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager v4_viewPager = (ViewPager) findViewById(R.id.v4_viewPager); TabLayout design_tabLayout = (TabLayout) findViewById(R.id.design_tabLayout); Toolbar v7_toolbar = (Toolbar) findViewById(R.id.v7_toolbar); setSupportActionBar(v7_toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); DrawerLayout v4_drawerLayout = (DrawerLayout) findViewById(R.id.v4_drawerLayout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, v4_drawerLayout, v7_toolbar, 0, 0); v4_drawerLayout.addDrawerListener(toggle); toggle.syncState(); List<String> list = new ArrayList<>(); for (int i = 0; i < 3; i++) { list.add(String.format(Locale.CHINA,"第%02d页",i)); } v4_viewPager.setAdapter(new MyAdapter(getSupportFragmentManager(),list)); design_tabLayout.setupWithViewPager(v4_viewPager); } }activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.iwanghang.designdemo.MainActivity"> <!--Toolbar为了取代actionBar出现,这里使用actionBar的高度--> <android.support.v7.widget.Toolbar android:id="@+id/v7_toolbar" android:layout_width="match_parent" android:layout_height="?actionBarSize" android:background="#006666" app:titleTextColor="#ffffff" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> <android.support.v4.widget.DrawerLayout android:id="@+id/v4_drawerLayout" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.design.widget.TabLayout android:id="@+id/design_tabLayout" app:tabBackground="@color/B6B6B6" app:tabTextColor="#ffffff" app:tabSelectedTextColor="#000000" app:tabIndicatorColor="#4169E1" app:tabTextAppearance="@style/TextAppearance.AppCompat.Large" android:layout_width="match_parent" android:layout_height="wrap_content"/> <android.support.v4.view.ViewPager android:id="@+id/v4_viewPager" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp"/> </LinearLayout> <android.support.design.widget.NavigationView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:background="#FFC125"/> </android.support.v4.widget.DrawerLayout> </LinearLayout>MyAdapter.java:
package com.iwanghang.designdemo; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import java.util.List; /** * Created by iwanghang on 2016/10/31. */ public class MyAdapter extends FragmentPagerAdapter{ private List<String> list; /** * 敲完上面一行,使用构造方法快捷键,生成下面的代码 * 构造方法快捷键:Alt+Insert,选择Constructor */ public MyAdapter(FragmentManager fm, List<String> list) { super(fm); this.list = list; } @Override public Fragment getItem(int position) { return BlankFragment.newInstance(list.get(position)); } @Override public int getCount() { return list.size(); } @Override public CharSequence getPageTitle(int position) { //return super.getPageTitle(position); return list.get(position); } }BlankFragment.java:
package com.iwanghang.designdemo; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import org.w3c.dom.Text; /** * A simple {@link Fragment} subclass. */ public class BlankFragment extends Fragment { public BlankFragment() { // Required empty public constructor } /** * newInstance * Created by iwanghang on 2016/10/31. */ public static BlankFragment newInstance(String text) { Bundle args = new Bundle(); args.putString("text",text); BlankFragment fragment = new BlankFragment(); fragment.setArguments(args); return fragment; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_blank, container, false); } /** * onViewCreated * Created by iwanghang on 2016/10/31. */ @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); TextView textView = (TextView) view.findViewById(R.id.pager_textView); String string = getArguments().getString("text"); textView.setText(string); } }fragment_blank.xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.iwanghang.designdemo.BlankFragment"> <!-- TODO: Update blank fragment layout --> <TextView android:id="@+id/pager_textView" android:layout_width="match_parent" android:layout_height="match_parent" android:textSize="30sp" android:layout_gravity="center" android:text="@string/hello_blank_fragment" /> </FrameLayout>
相关文章推荐
- Android开发-DesignDemo-AndroidStudio(二)右滑菜单实现
- Android开发-DesignDemo-AndroidStudio(三)右滑菜单点击监听
- Android开发-DesignDemo-AndroidStudio(一)ViewPager实现
- Android开发-DesignDemo-AndroidStudio(三)右滑菜单点击监听
- Android开发-DesignDemo-AndroidStudio(一)ViewPager实现
- Android开发-DesignDemo-AndroidStudio(五)Coordinator
- Android开发-DesignDemo-AndroidStudio(五)Coordinator
- Android开发-DesignDemo-AndroidStudio(十)FloatingActionButton(2)
- Android开发-DesignDemo-AndroidStudio(九)FloatingActionButton(1)
- Android开发-DesignDemo-AndroidStudio(十二)TextInputLayout
- Android开发-DesignDemo-AndroidStudio(十一)FloatingActionButton(3)
- Android开发-DesignDemo-AndroidStudio(十二)TextInputLayout
- Android开发-DesignDemo-AndroidStudio(七)CoordinatorDemo(2)
- Android开发-DesignDemo-AndroidStudio(八)CoordinatorDemo(3)
- Android开发-DesignDemo-AndroidStudio(四)单选、子菜单、header
- Android开发-DesignDemo-AndroidStudio(七)CoordinatorDemo(2)
- Android开发-DesignDemo-AndroidStudio(八)CoordinatorDemo(3)
- Android开发-DesignDemo-AndroidStudio(六)CoordinatorDemo(1)
- Android开发-DesignDemo-AndroidStudio(四)单选、子菜单、header
- Android开发-DesignDemo-AndroidStudio(十)FloatingActionButton(2)