zoukankan      html  css  js  c++  java
  • Android-自己定义标题栏

    Android-自己定义标题栏


    2014年4月25日 分享知识点

    最近也比較多事情,想发发博客就是心有余而力不足睡觉,本篇博文主要教大家怎样实现自己定义标题栏,非常easy。那么聪明的你一下就看懂。

    有兴趣能够加一下 群号是299402133,里面有丰富的学习资源,志同道合的你。一定会有所收获的。

    实现步骤

    * 1、给自己定义标题提供一个界面 

    * 2、将自己定义标题应用给Activity窗体 
    * 3、把android系统为Activity设置的默认主题改为自己的主题

    效果图:

    代码下载:http://download.csdn.net/detail/wwj_748/7249585


    /02_CustomTitle/res/layout/constom_title.xml

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

    > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/rectangle" android:orientation="horizontal" > <!-- 指定背景。该背景自己画的 --> <TextView style="@android:style/TextAppearance.Medium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="IT_xiao小巫" android:textColor="#ffffff" android:textSize="14sp" /> </LinearLayout>



    这里使用到了一个图像资源,是在drawable文件夹下的:

    /02_CustomTitle/res/drawable/rectangle.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle" >
    
        <!-- 定义渐变色 -->
        <gradient
            android:angle="270"
            android:endColor="#80FF00FF"
            android:startColor="#FFFF0000" />
        <!-- 定义控件内容到边界的距离(到四条边界的距离都是2) -->
        <padding
            android:bottom="2dp"
            android:left="2dp"
            android:right="2dp"
            android:top="2dp" />
        <!-- 定义圆角 -->
        <corners android:radius="8dp" />
    
    </shape>



    /02_CustomTitle/src/com/wwj/constomtitle/MainActivity.java
    package com.wwj.constomtitle;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Window;
    
    /**
     * 1、给自己定义标题提供一个界面 
     * 2、将自己定义标题应用给Activity窗体 
     * 3、把android系统为Activity设置的默认主题改为自己的主题
     * 
     * @author wwj
     * 
     */
    public class MainActivity extends Activity {
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		
    		// 指定使用自己定义标题
    		requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    		setContentView(R.layout.activity_main);
    		// 设置窗体的自己定义标题布局文件
    		getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.constom_title);
    		
    	}
    
    
    }
    

    改动默认样式

     <!-- 该样式继承系统的默认样式 -->
        <style name="customTheme" parent="android:Theme">
    
            <!-- 设置标题前景色为透明 -->
            <item name="android:windowContentOverlay">@drawable/nocolor</item>
            <!-- 设置标题高度为44dp -->
            <item name="android:windowTitleSize">44dp</item>
            <!-- 设置标题背景色 -->
            <item name="android:windowTitleBackgroundStyle">@style/customBg</item>
        </style>
        <!-- 定义一个背景样式 -->
        <style name="customBg">
            <item name="android:background">@drawable/rectangle</item>
        </style>


    /02_CustomTitle/res/values/drawable.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    
        <!-- 定义一个透明色 -->
        <drawable name="nocolor">#00000000</drawable>
    
    </resources>


    在AndroidManifest.xml设置主题
    <?xml version="1.0" encoding="utf-8"?

    > <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.wwj.constomtitle" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/customTheme" > <activity android:name="com.wwj.constomtitle.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>










  • 相关阅读:
    编辑器、编译器、文件、IDE等常见概念辨析
    二叉排序树的实现
    模板
    Codeforces Round #690 (Div. 3)
    Educational Codeforces Round 100 (Rated for Div. 2)
    Codeforces 414-B. Mashmokh and ACM(数位dp)
    Codeforces 339D-Xenia and Bit Operations(线段树)
    Educational Codeforces Round 96 (Rated for Div. 2) 题解
    2019-2020 ICPC Northwestern European Regional Programming Contest (NWERC 2019)
    2018-2019 ICPC Northwestern European Regional Programming Contest (NWERC 2018)
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6920863.html
Copyright © 2011-2022 走看看