您的位置:首页 > 其它

修改系统标题栏 高度 字体偏移 添加图片 点击事件

2017-03-21 14:45 423 查看

修改系统标题栏 高度 字体偏移 添加图片 点击事件

具体的操作步骤是:
1、在res/values添加styles.xml文件。
     .在eclipse中,选择File -> New -> Other菜单
     .在弹出窗口中,选择Android/Android XML File,点击 Next
     .在添加XML窗口中,输入文件名"styles.xml",选中Values,
       输入文件夹路径"/res/values"
     .然后点击 Finish
 
2、在res/values添加themes.xml文件。
    操作方法同步骤1,只是文件名输入"themes.xml"
 
3、styles.xml文件的代码
   

[xhtml] view
plain copy

<?xml version="1.0" encoding="utf-8"?>  

<resources xmlns:adnroid="http://schemas.android.com/apk/res/android">  

  

<style name="CustomWindowTitleBackground" parent="*android:WindowTitleBackground">  

  <item name="android:background">@drawable/bg</item>  

</style>  

  

<style name="CustomWindowTitle" parent="*android:WindowTitle">  

  <item name="android:textAppearance">@style/CustomWindowTitleText</item>  

</style>  

  

<style name="CustomWindowTitleText" parent="android:TextAppearance.WindowTitle">  

  <item name="android:textColor">#00f</item>  

  <item name="android:textSize">14sp</item>  

  <item name="android:textStyle">bold</item>  

</style>  

  

</resources>  

 
4、themes.xml文件的代码

[xhtml] view
plain copy

<?xml version="1.0" encoding="utf-8"?>  

<resources xmlns:adnroid="http://schemas.android.com/apk/res/android">  

  

<style name="titleTheme" parent="android:Theme" >  

  <!-- <item name="android:windowTitleSize">30dp</item>  -->  

  <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>  

  <item name="android:windowTitleStyle">@style/CustomWindowTitle</item>  

 
<
item
 
name
=
"Android:windowTitleSize"
>60dp</
item
><!--
标题栏高度
-->


</style>  

  

</resources>  

 
5、修改工程的Manifest.xml文件
     .在Activity中加入android:theme="@style/titleTheme"即可

[xhtml] view
plain copy

<?xml version="1.0" encoding="utf-8"?>  

<manifest xmlns:android="http://schemas.android.com/apk/res/android"  

      package="com.android.customtitle"  

      android:versionCode="1"  

      android:versionName="1.0">  

    <application android:icon="@drawable/icon" android:label="@string/app_name">  

        <activity android:name=".CustomTitle"  

                  android:label="@string/app_name"  

                  android:theme="@style/titleTheme">  

            <intent-filter>  

                <action android:name="android.intent.action.MAIN" />  

                <category android:name="android.intent.category.LAUNCHER" />  

            </intent-filter>  

        </activity>  

  

    </application>  

    <uses-sdk android:minSdkVersion="9" />  

  

</manifest>   

 
6、效果图



7、改变文字的位置

经过上面的设置可以实现蓝色背景,高度40dp的标题栏,但是此时标题还没有居中。我曾经尝试在style中通过设置android:gravity=center等方式,但都没有成功。
后来在activity的代码中添加以下代码才实现了居中效果:

[java] view
plain copy

@Override  

protected void onCreate(Bundle savedInstanceState) {  

    super.onCreate(savedInstanceState);  

TextView textview1= (TextView) findViewById(android.R.id.title);view.setGravity(Gravity.CENTER);

//此处添加点击事件

//添加图片

Drawable nav_up=getResources().getDrawable(R.drawable.button_nav_up);  

nav_up.setBounds(0, 0, nav_up.getMinimumWidth(), nav_up.getMinimumHeight());  

textview1.setCompoundDrawables(null, null, nav_up, null); 

[java] view
plain copy

        setContentView(R.layout.activity_main);  

...  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐