zoukankan      html  css  js  c++  java
  • 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!
  • 相关阅读:
    Javascript闭包的一些研究
    pytorchvision安装问题
    CUDA 基础
    语音识别入门推荐文献【转】
    【e2e】espnet框架安装问题集锦
    维特比算法与beam search
    kaldi识别问题集锦
    语音识别-重要开源数据
    git提交失败总结
    钟南山病后反思: 寿命长短, 不取决于衰老和疾病【转】
  • 原文地址:https://www.cnblogs.com/userbibi/p/2453959.html
Copyright © 2011-2022 走看看