• Activity标题栏设置


    在应用过程中需要将Activity的标题栏进行修改,一般情况下,通过java代码的setTitle方法可以设置其标题内容。在实际应用过程中可能会有复杂的需求,此时需要进行相关的处理,比如在标题栏上显示两个按钮和一个文本,按钮进行操作可以进行操作。这个时候就需要进行处理,处理方式如下:

    1、建立head.xml所需的布局文件:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
       
        android:orientation="vertical">"
        
        <Button
            android:id="@+id/btn_login"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginTop="18dp"
            android:layout_marginRight="10dp"
            android:background="@drawable/head_log"
            android:text="" />
        
        </RelativeLayout>

    2、在java代码部分进行设置

         super.onCreate(savedInstanceState);
                requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
                setContentView(R.layout.map);
                getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,  R.layout.head);//注意顺序  

    到此步骤可以修改标题栏,但是不能设置标题栏的大小和背景。还需要处理

    3、编写style.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="CustomWindowTitleBackground">
           <item name="android:background">@drawable/head</item> 设置背景图片,这边也可以直接写背景颜色
    </style>
    <style name="head" parent="android:Theme">
         <item name="android:windowTitleSize">50dp</item>  设置字体大小
         <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
    </style>
    </resources>

    4在清单文件AndroidManifest.xml中配置

     <activity android:name=".LinkMap"  android:theme="@style/head" ></activity>

    这样可以完成配置了。如果想完成更复杂的标题栏,那么需要通过java代码进行自定义。

    tip:以上是正常改变工具栏的方法,还有人为了实现复杂的工具栏效果,变通了一下

    如下图这样的效果:

    这种效果的话,用上面的方法也是可以的,但有的开发者喜欢完全用布局来实现,可以更随意的变换实现复杂的效果而不用多作许多设置;

    方法很简单,只要在java部分把调用标题的代码声名成不使用标题,相当于隐藏标题栏,然后之后的代码就随便你写了,爱怎么布局就怎么布局,看起来效果都一样

    java部分代码声名如下:

            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.main);
    Crazy Cherry:everything is possible!
  • 相关阅读:
    20155318Java课堂实践20170510
    2017-2018-1 20155220 20155309 20155317 实验一 开发环境的熟悉
    2017-2018 20155309南皓芯 信息安全系统基础设计第五周博客
    2017-2018 20155309南皓芯 信息安全系统基础设计第四周博客
    20155309 南皓芯 信息安全系统基础设计第三周博客
    关于利用GPG加解密的实验
    20155309南皓芯第二周课堂实践
    2017-2018 20155309南皓芯 信息安全系统基础设计第一周博客
    20155309 2016-2017-2《Java程序设计》课程总结
    20155309实验五 网络编程与安全
  • 原文地址:https://www.cnblogs.com/userbibi/p/2453959.html
Copyright © 2020-2023  润新知