sdk 今日头条_今日头条

此博客展示了Android中HomeActivity类的代码实现。包含初始化数据和视图的方法,如初始化抽屉布局、标签布局和ViewPager等,还实现了抽屉开关监听、列表项点击监听等功能,涉及到Fragment和适配器的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

packagecom.example.daytwo;importandroid.os.Bundle;importandroid.support.annotation.Nullable;importandroid.support.design.widget.TabLayout;importandroid.support.v4.app.Fragment;importandroid.support.v4.app.FragmentManager;importandroid.support.v4.app.FragmentPagerAdapter;importandroid.support.v4.view.ViewPager;importandroid.support.v4.widget.DrawerLayout;importandroid.support.v7.app.ActionBarDrawerToggle;importandroid.view.MenuItem;importandroid.view.View;importandroid.widget.AdapterView;importandroid.widget.ArrayAdapter;importandroid.widget.ListView;importcom.example.daytwo.fragment.Fragment1;importjava.util.ArrayList;importjava.util.List;public class HomeActivity extends BaseActivity implementsAdapterView.OnItemClickListener {privateDrawerLayout drawerLayout;privateListView leftDrawer;private List list = new ArrayList();private ArrayAdapteradapter;privateActionBarDrawerToggle toggle;private final String[] mTitles = new String[]{"推荐","热点","北京","科技","军事","视频","社会"};privateViewPager vp;

@Overrideprotected voidonCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initData();

initView();

}/*** 初始化数据*/

private voidinitData() {for (int i = 0; i < 5; ++i) {

list.add("泡妞0" +i);

}

}/*** 初始化View*/

private voidinitView() {

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(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(newMyFragmentAdapter(getSupportFragmentManager()));//让TabLayout发生关联

tabLayout.setupWithViewPager(vp);

}//重写该方法,监听actionbar 条目监听(箭头、三个横线)

@Overridepublic booleanonOptionsItemSelected(MenuItem item) {//如果抽屉打开,点击按钮,就会关闭,反之亦然

return toggle.onOptionsItemSelected(item) | super.onOptionsItemSelected(item);

}

@Overridepublic void onItemClick(AdapterView> parent, View view, int position, longid) {//关闭抽屉

drawerLayout.closeDrawer(leftDrawer);

}class MyFragmentAdapter extendsFragmentPagerAdapter{publicMyFragmentAdapter(FragmentManager fm) {super(fm);

}

@Overridepublic Fragment getItem(intposition) {returnFragment1.newInstance(mTitles[position]);

}

@Overridepublic intgetCount() {returnmTitles.length;

}//重写该方法,显示标签字体 bug

@Overridepublic CharSequence getPageTitle(intposition) {returnmTitles[position];

}

}

}//**H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值