方法一、在你的那张Activity中onCreate方改裂法中加上下面代码:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)
setContentView(R.layout.main) //软件activity的布局
但是新的问题又来了,这样是无法深层的定制标题栏的,比如原有的高度和背景都没有发生变化,那有没有好的方法呢?答案是有的、
方法二:
因此先定义一个style,若修改背景请修改android:windowTitleBackgroundStyle
若修改标题栏高度,请修改android:windowTitleSize
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="CustomWindowTitleBackground">
<item name="android:background">#565656</item>
</style>
<style name="test" parent="厅姿android:Theme">
<item name="android:windowTitleSize">50dp</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
在程序的android_manifest.xml中对应activity中添加属性android:theme = "@style/test"
就可以了
<activity android:name=".Test"
android:theme = "@style/test" //就在这里
>
</activity>
之后借助于设置自定义的标题栏xml文件,就可以自定义标题栏布局了
ViewPager+Fragment要实现顶部标题栏,需要以下几个步骤:
1.首先在activity_main.xml布局文件中加入ViewPager组件
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent">
2.既然要实现左右的页面滑动,肯定要往ViewPager中添加一陆凯些搭嫌Fragment,这里创建了3个Fragment的布局文件
这3个布局文件非常简单,跟Activity的布局用法一模一样,代码就不贴出来了,直接看Activity的java代码
import java.util.ArrayList
import java.util.List
import android.os.Bundle
import android.app.Activity
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentActivity
import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentPagerAdapter
import android.support.v4.app.FragmentStatePagerAdapter
import android.support.v4.view.PagerTabStrip
import android.support.v4.view.PagerTitleStrip
import android.support.v4.view.ViewPager
import android.util.Log
import android.view.ViewGroup
public class MainActivity extends FragmentActivity {
private ViewPager m_vp
private fragment1 mfragment1
private fragment2 mfragment2
private fragment3 mfragment3
private ArrayList<Fragment>fragmentList
ArrayList<String> titleList = new ArrayList<String>()
private PagerTabStrip pagerTabStrip
private PagerTitleStrip pagerTitleStrip
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
m_vp = (ViewPager)findViewById(R.id.viewpager)
pagerTabStrip=(PagerTabStrip) findViewById(R.id.pagertab)
//设置下划线的颜色
pagerTabStrip.setTabIndicatorColor(getResources().getColor(android.R.color.holo_green_dark))
//设置背早枝唤景的颜色
pagerTabStrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_dark))
// pagerTitleStrip=(PagerTitleStrip) findViewById(R.id.pagertab)
// //设置背景的颜色 pagerTitleStrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_dark))
mfragment1 = new fragment1()
mfragment2 = new fragment2()
mfragment3 = new fragment3()
fragmentList = new ArrayList<Fragment>()
fragmentList.add(mfragment1)
fragmentList.add(mfragment2)
fragmentList.add(mfragment3)
titleList.add("第一页 ")
titleList.add("第二页")
titleList.add("第三页 ")
m_vp.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager()))
}
public class MyViewPagerAdapter extends FragmentPagerAdapter{
public MyViewPagerAdapter(FragmentManager fm) {
super(fm)
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int arg0) {
return fragmentList.get(arg0)
}
@Override
public int getCount() {
return fragmentList.size()
}
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titleList.get(position)
}
}
}
3.需要设置一个Adapter,上面代码是继承了FragmentPagerAdapter,在里面重写了3个方法.往这个Viewpager中添加了要显示的3个页面fragment和对应的3个标题
4.Fragment中有个onCreateView方法,返回的是这个fragment的视图View,其他的生命周期方法都跟Activity一样,还要注意的是在回复View前一定要加入代码
5.运行程序运行效果:
关于Viewpager和Fragment还有很多其他很有用的方法,建议查看官网API详细了解
第一步:打开手机桌面设置扰差中的【缓州皮便捷辅助】选项,第二步:点击进入【导航键迹让】,
第三步:点击【虚拟按键】,根据个人使用习惯选择一种按键方式即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)