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); }}
阅读全文
0 0
- DrawerLayout
- DrawerLayout
- DrawerLayout
- DrawerLayout
- DrawerLayout
- DrawerLayout
- DrawerLayout
- drawerLayout
- DrawerLayout
- DrawerLayout
- DrawerLayout
- DrawerLayout
- DrawerLayout
- DrawerLayout
- drawerLayout
- DrawerLayout
- DrawerLayout
- DrawerLayout
- 《笨办法学python》加分习题31——我的答案
- Eclipse插件ESLint安装
- IOS 更换闪屏页面出现的问题
- 概率dp梯度套题
- Palindrome Number
- DrawerLayout
- Java -Bundle savedInstanceState的作用
- HDU 2256 Problem of Precision
- 算法详情【选择排序】
- SSL P2713 2048
- Java_1
- ZooKeeper_11_数据模型
- 设计模式(14)--Command(命令模式)--行为型
- 简单获取图片和文字