Android自定义标题栏,如何使标题栏文字居中显示,gravity无效 requestWindowFeature ( Window.FEATURE_NO_TITLE );先把自带的标题栏去掉然后在XML直接布局在上面做个效果就好了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这种方法我有用过,之所以选择当前这种,就是因为要替换标题栏的background,用你的方法background会有空白。还是谢谢你啊 requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //Hide all screen decorations 用这两行设置全屏 然后在xml里做效果!这样 在xml里设置的布局的background就是全屏的 你只要在上面个搞个小点的 textview就可以模拟出了 问题解决了,将网上流行的两种方法结合即可。<?xml version="1.0" encoding="utf-8"?><resources> <style name="ThemeForCustomTitle" parent="android:Theme"> <item name="android:windowTitleStyle">@null</item> <item name="android:windowTitleBackgroundStyle">@style/StatusBarBackground</item> <item name="android:windowContentOverlay">@null</item> </style> <style name="StatusBarBackground"> <item name="android:background">@drawable/progress</item> </style></resources>为activity设置theme="ThemeForCustomTitle"并且在activity里: super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar); TextView titleText = (TextView) findViewById(R.id.titleText); titleText.setText(R.string.listenPA);此外,我在网上做了一些调查,在保留title bar的前提下,单纯用theme或者是单纯设置layout替换背景,都不能达到完善的效果,老外也发现了这个问题,sdk1.5~2.1都有这个问题。 解决了啊,如8楼所写,在R.layout.title_bar中,让文字居中就好了啊。可以解决的啊,请自己动手试下。 楼主,你好。我也遇到你这样的问题。使用和你一样的方法,通过自己定义的layout文件是可以将title居中的。但是,这个作用域只是在activity里。我想把整个application里设置这样的属性,也就是说,要在这个应用里所有界面的title都是居中的!<application android:name="AppName" android:label="@string/appName" android:icon="@mipmap/ic_launcher_settings" android:taskAffinity="" android:theme="@style/perference_set_activity" android:uiOptions="splitActionBarWhenNarrow" android:hardwareAccelerated="true"> <!-- Settings --> <activity android:name="ActivityName" android:label="@string/activityName" android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>我把theme加在application的属性中,这样修改的背景、字体之类的属性就实现在每个activity中了,但唯独不能居中。搞了一天没找到原因。如果lz有源码可以去看一下settings下的代码,有空帮忙分析一下!谢谢! <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" ><!-- 假如是LinearLayou 就得在上面加 android:gravity="center_vertical" --> <!-- android:layout_gravity="center_vertical" --> <!-- android:layout_marginLeft="3dp" --> <TextView android:id="@+id/titlebar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="2dp" android:text="标题栏" /> <!-- android:gravity="center_vertical" --> <!-- android:layout_gravity="center_vertical" --></RelativeLayout>在加上lz 写在activity中的代码 不行啊,android:Theme输入进去提示错误 关于应用发布 连接SQL 有关于EditText的问题,高手快来帮忙解决一下啊 求助:想实现手机应用程序自带数据库,不使用Android提供的SQLITE,如何实现? 编译源码,请教如何import com.google.android.mms.* android开发什么东西好呢 关于百度地图的两个问题 没做过安卓,做声控拍照容易吗?给比如360相机或者全能相机那样的软件做个外挂,声控之拍照,不知道可不可行? eclipse代码补全的问题 Android studio 第一次新建完工程就报错 移动视频的监控 ddms File Explorer显示为空
还是谢谢你啊
这样 在xml里设置的布局的background就是全屏的 你只要在上面个搞个小点的 textview就可以模拟出了
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ThemeForCustomTitle" parent="android:Theme">
<item name="android:windowTitleStyle">@null</item>
<item name="android:windowTitleBackgroundStyle">@style/StatusBarBackground</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="StatusBarBackground">
<item name="android:background">@drawable/progress</item>
</style>
</resources>
为activity设置theme="ThemeForCustomTitle"并且在activity里: super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);
TextView titleText = (TextView) findViewById(R.id.titleText);
titleText.setText(R.string.listenPA);
此外,我在网上做了一些调查,在保留title bar的前提下,单纯用theme或者是单纯设置layout替换背景,都不能达到完善的效果,老外也发现了这个问题,sdk1.5~2.1都有这个问题。
解决了啊,如8楼所写,在R.layout.title_bar中,让文字居中就好了啊。可以解决的啊,请自己动手试下。
我也遇到你这样的问题。使用和你一样的方法,通过自己定义的layout文件是可以将title居中的。
但是,这个作用域只是在activity里。我想把整个application里设置这样的属性,也就是说,要在这个应用里所有界面的title都是居中的!<application android:name="AppName" android:label="@string/appName"
android:icon="@mipmap/ic_launcher_settings"
android:taskAffinity=""
android:theme="@style/perference_set_activity" android:uiOptions="splitActionBarWhenNarrow"
android:hardwareAccelerated="true">
<!-- Settings -->
<activity android:name="ActivityName"
android:label="@string/activityName"
android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>我把theme加在application的属性中,这样修改的背景、字体之类的属性就实现在每个activity中了,但唯独不能居中。搞了一天没找到原因。如果lz有源码可以去看一下settings下的代码,有空帮忙分析一下!谢谢!
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 假如是LinearLayou 就得在上面加 android:gravity="center_vertical" -->
<!-- android:layout_gravity="center_vertical" -->
<!-- android:layout_marginLeft="3dp" --> <TextView
android:id="@+id/titlebar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="2dp"
android:text="标题栏" />
<!-- android:gravity="center_vertical" -->
<!-- android:layout_gravity="center_vertical" --></RelativeLayout>在加上lz 写在activity中的代码