DrawerLayout

来源:互联网 发布:vip域名百度收录吗 编辑:程序博客网 时间:2024/06/15 21:40
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:id="@+id/drawerLayout"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent">        <LinearLayout            android:layout_width="match_parent"            android:layout_height="match_parent"            android:orientation="vertical">            <!--标签布局-->2            <android.support.design.widget.TabLayout                android:id="@+id/tabLayout"                android:layout_width="match_parent"                android:layout_height="wrap_content"                app:tabGravity="center"                app:tabTextColor="@color/colorPrimary"                app:tabIndicatorColor="@android:color/transparent"                app:tabSelectedTextColor="@color/colorAccent"                app:tabMode="scrollable">            </android.support.design.widget.TabLayout>            <android.support.v4.view.ViewPager                android:id="@+id/vp"                android:layout_width="match_parent"                android:layout_height="match_parent">            </android.support.v4.view.ViewPager>        </LinearLayout>        <!--  菜单栏选项-->        <ListView            android:id="@+id/leftDrawer"            android:layout_width="200dp"            android:layout_height="match_parent"            android:layout_gravity="start"            android:background="@color/colorPrimary">        </ListView></android.support.v4.widget.DrawerLayout>
package com.bwie.newsinfo;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.widget.RelativeLayout;import android.widget.TextView;public class MainActivity extends BaseActivity {    private RelativeLayout rl;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_splash);        //隐藏action        getSupportActionBar().hide();        //动画结束,跳转        Intent intent = new Intent(MainActivity.this, HomeActivity.class);        startActivity(intent);       /* rl = (RelativeLayout) findViewById(R.id.rl);        playAnim(rl);*/    }    /**     * 播放动画     * @param view     */    private void playAnim(View view) {        AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);        alphaAnimation.setDuration(2000);        alphaAnimation.setFillAfter(true);        view.startAnimation(alphaAnimation);        alphaAnimation.setAnimationListener(new Animation.AnimationListener() {            @Override            public void onAnimationStart(Animation animation) {            }            @Override            public void onAnimationEnd(Animation animation) {                //动画结束,跳转                Intent intent = new Intent(MainActivity.this, HomeActivity.class);                startActivity(intent);            }            @Override            public void onAnimationRepeat(Animation animation) {            }        });    }}
package com.bwie.newsinfo;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.ActionBarDrawerToggle;import android.view.MenuItem;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ListView;import com.bwie.newsinfo.fragment.Fragment1;import java.util.ArrayList;import java.util.List;public class HomeActivity extends BaseActivity implements AdapterView.OnItemClickListener {    private DrawerLayout drawerLayout;    private ListView leftDrawer;    private List<String> list = new ArrayList<String>();    private ArrayAdapter<String> adapter;    private ActionBarDrawerToggle toggle;    private final String[] mTitles = new String[]{"推荐","热点","北京","科技","军事","视频","社会"};    private ViewPager vp;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initData();        initView();    }    /**     * 初始化数据     */    private void initData() {        for (int i = 0; i < 5; ++i) {            list.add("泡妞0" + i);        }    }    /**     * 初始化View     */    private void initView() {        drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);        leftDrawer = (ListView) findViewById(R.id.leftDrawer);        //初始化ActionBar        //参数1:上下文        //参数2:抽屉        //参数3:打开抽屉的描述        //参数4:关闭抽屉的描述        toggle = new ActionBarDrawerToggle(this,drawerLayout, R.string.openDrawer,R.string.closeDrawer);        //设置状态同步        toggle.syncState();        //设置抽屉打开关闭监听        drawerLayout.addDrawerListener(toggle);        //设置适配器        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);        leftDrawer.setAdapter(adapter);        leftDrawer.setOnItemClickListener(this);        //找到标签布局控件        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);        for (String str : mTitles)        {            //更具标签数生成标签            tabLayout.addTab(tabLayout.newTab().setText(str));        }        //TabLayout关联ViewPager        vp = (ViewPager) findViewById(R.id.vp);        vp.setAdapter(new MyFragmentAdapter(getSupportFragmentManager()));        //让TabLayout发生关联        tabLayout.setupWithViewPager(vp);    }    //重写该方法,监听actionbar 条目监听(箭头、三个横线)    @Override    public boolean onOptionsItemSelected(MenuItem item) {        //如果抽屉打开,点击按钮,就会关闭,反之亦然        return toggle.onOptionsItemSelected(item) | super.onOptionsItemSelected(item);    }    @Override    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {        //关闭抽屉        drawerLayout.closeDrawer(leftDrawer);    }    class MyFragmentAdapter extends FragmentPagerAdapter{        public MyFragmentAdapter(FragmentManager fm) {            super(fm);        }        @Override        public Fragment getItem(int position) {            return Fragment1.newInstance(mTitles[position]);        }        @Override        public int getCount() {            return mTitles.length;        }        //重写该方法,显示标签字体 bug        @Override        public CharSequence getPageTitle(int position) {            return mTitles[position];        }    }}
package com.bwie.newsinfo;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.ActionBar;import android.support.v7.app.AppCompatActivity;public class BaseActivity extends AppCompatActivity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //隐藏标题栏        //getSupportActionBar().hide();        //标题栏        ActionBar actionBar = getSupportActionBar();        //显示箭头        actionBar.setDisplayHomeAsUpEnabled(true);    }}