溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android開發怎么在4.0及以上系統中自定義TitleBar

發布時間:2021-07-24 09:15:13 來源:億速云 閱讀:122 作者:chen 欄目:移動開發

這篇文章主要講解了“Android開發怎么在4.0及以上系統中自定義TitleBar”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Android開發怎么在4.0及以上系統中自定義TitleBar”吧!

本文將通過一個實例講解怎么實現在4.0及以上系統版本中實現自定義TitleBar,這只是我自己找到的一種方法;

xml布局文件

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:paddingBottom="@dimen/activity_vertical_margin"     android:paddingLeft="@dimen/activity_horizontal_margin"     android:paddingRight="@dimen/activity_horizontal_margin"     android:paddingTop="@dimen/activity_vertical_margin"     tools:context=".MainActivity" >      <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="@string/hello_world" /> </RelativeLayout>

自定義的Titlebar的布局文件titlebar.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="48dp"     android:orientation="horizontal" >     <ImageView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_gravity="center"         android:layout_weight="1.5"         android:src="@drawable/ic_action_search" />     <TextView         android:layout_width="wrap_content"         android:layout_height="48dp"         android:layout_weight="1.5"         android:paddingTop="1dp"         android:text="@string/app_name"         android:textSize="14sp" />     <EditText         android:id="@+id/searchparameter"         android:layout_width="wrap_content"         android:layout_height="48dp"         android:layout_margin="1dp"         android:layout_weight="5"         android:text="ABCDEFGHIJ"         android:textSize="14sp" />     <Button         android:id="@+id/button"         android:layout_width="wrap_content"         android:layout_height="48dp"         android:layout_margin="1dp"         android:layout_weight="2"         android:text="OK"         android:textSize="14sp" /> </LinearLayout>

為布局文件修改style.xml

此處的style.xml在values-11或者value-14中,否側會報錯:you cannot combine custom titles with other title features

<?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android">     <style name="CustomizedWindowTitleBackground">         <item name="android:background">#047BF0</item>     </style>     <style name="titlebarstyle" parent="android:Theme">         <item name="android:windowTitleSize">48dp</item>         <item name="android:windowTitleBackgroundStyle">@style/CustomizedWindowTitleBackground</item>         <!-- All customizations that are NOT specific to a particular API-level can go here. -->     </style> </resources>

在AndroidManifest.xml添加主題樣式

android:theme="@style/titlebarstyle"

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.example.titlebardemo"     android:versionCode="1"     android:versionName="1.0" >     <uses-sdk         android:minSdkVersion="8"         android:targetSdkVersion="17" />     <application         android:allowBackup="true"         android:icon="@drawable/ic_launcher"         android:label="@string/app_name" >         <activity             android:name="com.example.titlebardemo.MainActivity"             android:label="@string/app_name"            android:theme="@style/titlebarstyle" >             <intent-filter>                 <action android:name="android.intent.action.MAIN" />                 <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>     </application> </manifest>

MainActivity.java中添加實現代碼

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.titlebar);     }

代碼中requestWindowFeature(Window.FEATURECUSTOMTITLE);和getWindow().setFeatureInt(Window.FEATURECUSTOMTITLE,
R.layout.titlebar);位置是固定的.

希望讀者朋友們通過這個例子能夠對怎么實現在4.0及以上系統版本中自定義TitleBar有深刻理解和掌握。

感謝各位的閱讀,以上就是“Android開發怎么在4.0及以上系統中自定義TitleBar”的內容了,經過本文的學習后,相信大家對Android開發怎么在4.0及以上系統中自定義TitleBar這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女