導航:首頁 > 操作系統 > androidtitlebar高度

androidtitlebar高度

發布時間:2023-01-24 20:31:45

A. android 滑動漸變的TitleBar

首先看下效果

進入頁面後,是一個列表和頂部是一張圖片的布局,滑動列表, TitleBar 隨著上下滑動而"若隱若現"。感覺是不是像 CoordinatorLayout CollapsingToolbarLayout 的效果

其實不太一樣, CoordinatorLayout CollapsingToolbarLayout 的實現效果更多,並且Gradle需要單獨引入Support包

第一個的效果,只要是 ScrollView ListView RecycleView 都可以實現

以ListView為例,首先ListView設置數據,添加Header,然後設置滑動事件

ScrollViewAlphaListener 是自定義的滑動Listener。 setAlphaView 方法分別設置了: 上下文對象 頂部圖片 根布局 ~

看下ScrollViewAlphaListener的主要內容

ScrollViewAlphaListener 是 implements AbsListView.OnScrollListener,所以必須實現其 onScroll 方法。在 onScroll 方法中根據頂部圖片的位置高度和根布局滑動Y值,算出Alpha值。當然這里也考慮了 狀態欄的高度(ExtendUtils.getStatusBarHeight(mContext))

最後在 ScrollViewAlphaListener 的回調中,處理對應View的漸變效果

這樣就實現了滑動漸變的效果TitleBar了~ ScrollView RecycleView 的實現都是根據頂部圖片和根布局滑動的Y值來計算的,大同小異~

B. 用CSS做iOS和Android樣式適配

在移動端webview渲染的時候,html標簽會被自動加入一個class屬性,會標識不同的設備
如:

所以,可以用來適配一些移動雙端的差異場景,如適配不同高度Titlebar

不同樣式:

使用樣式:

在iOS設備上就會展示80px,Android設備上60px

C. android 上面標題欄該多高

android 上面標題欄的高度設置要根據狀態欄設置保持一致。具體設置如下:
getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);///取得整個視圖部分,注意,如果你要設置標題樣式,這個必須出現在標題樣式之後,否則會出錯
int top = rect.top;////狀態欄的高度,所以rect.height,rect.width分別是系統的高度的寬度
View v = getWindow().findViewById(Window.ID_ANDROID_CONTENT);///獲得根視圖
int top2 = v.getTop();///狀態欄標題欄的總高度,所以標題欄的高度為top2-top
int width = v.getWidth();///視圖的寬度,這個寬度好像總是最大的那個
int height = v.getHeight();////視圖的高度,不包括狀態欄和標題欄
如果只想取得屏幕大小,可以用
Display display = getWindowManager().getDefaultDisplay() ;
display.getWidth();
display.getHeight();代碼見@Overridepublic void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
// 狀態欄高度
int statusBarHeight = frame.top;
View v = getWindow().findViewById(Window.ID_ANDROID_CONTENT);
int contentTop = v.getTop();
// statusBarHeight是上面所求的狀態欄的高度
int titleBarHeight = contentTop - statusBarHeight;
textView = (TextView) findViewById(R.id.textView1);
textView.setText(標題欄的高度 + Integer.toString(titleBarHeight) +

+ 標題欄高度 + statusBarHeight +
+ 視圖的寬度 + v.getWidth()
+
+ 視圖的高度(不包含狀態欄和標題欄) + v.getHeight());

D. android title bar製作

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/title_bg"
android:orientation="horizontal"
android:padding="5dp" >
<Button
android:id="@+id/plateBackButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_back" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:text="@string/inv_title" />
<Button
android:id="@+id/plateNewTalkButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/plate_new_talk" />
</LinearLayout>

把報錯的元素改成你自己的就行。

E. uniapp小程序獲取titleBar的高度和寬度

就是小程序上方由膠囊占據的bar,就叫titleBar。

因為我們可以在膠囊左側寫標題和其他一些東西。這些東西要跟膠囊中線對齊。

首先我們要撐起statusBar的高度,也就是最頂部的那個bar。這個bar的高度很容易取得。

uni.().top取得的是膠囊距離視口頂部的距離,減掉statusBar的高度,就是膠囊離statusBar下沿的距離。這個距離乘以2,加上膠囊自身高度,就是titleBar的高度。

見紅色部分。

開發者工具中會有略微錯位,無妨,以真機為准。

我們希望膠囊左側空白區域與膠囊有間距,而且間距最好是等於膠囊到右邊邊線的距離。這個前提下,左側空白區域的寬度怎麼算?

寫成組件就是這樣:

用法:

演示如何使用作用域插槽:

F. 安卓頭部跟ios頭部高度不一致么

不一致,由於安卓設備的碎片化,不同廠商的titlebar的高度不一樣的。

G. 如何更改NSWindow標題欄的高度

當你對一個窗口使用setFrame:時,你需要把標題欄的高度也算進去。從前標題條的高度是16點,在Aqua里,是22個點。由於這個高度不固定,所以你最好這樣計算: - (float) titleBarHeight{ NSRect frame = NSMakeRect (0, 0, 100, 100); NSRect contentRect; contentRect = [: frame styleMask: NSTitledWindowMask]; return (frame.size.height - contentRect.size.height); }

H. android中怎麼計算標題欄高度

1、獲取標題欄高度:

getWindow().findViewById(Window.ID_ANDROID_CONTENT)這個方法獲取到的view就是程序不包括標題欄的部分,然後就可以知道標題欄的高度了。

java">intcontentTop=getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
//statusBarHeight是上面所求的狀態欄的高度
inttitleBarHeight=contentTop-statusBarHeight

擴展:

1、獲取狀態欄高度:

decorView是window中的最頂層view,可以從window中獲取到decorView,然後decorView有個getWindowVisibleDisplayFrame方法可以獲取到程序顯示的區域,包括標題欄,但不包括狀態欄。於是,我們就可以算出狀態欄的高度了。

Rectframe=newRect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
intstatusBarHeight=frame.top;

2、獲取屏幕高度

方法1:
WindowManagerwindowManager=getWindowManager();
Displaydisplay=windowManager.getDefaultDisplay();
screenWidth=display.getWidth();
screenHeight=display.getHeight();
方法2:
DisplayMetricsdm=newDisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指當前activity
screenWidth=dm.widthPixels;
screenHeight=dm.heightPixels;

I. 如何修改android標題欄界面

方法一、在你的那張Activity中onCreate方法中加上下面代碼:

?

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main); //軟體activity的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar); //titlebar為自己標題欄的布局

但是新的問題又來了,這樣是無法深層的定製標題欄的,比如原有的高度和背景都沒有發生變化,那有沒有好的方法呢?答案是有的、
方法二:
因此先定義一個style,若修改背景請修改android:windowTitleBackgroundStyle
若修改標題欄高度,請修改android:windowTitleSize
例子:

?

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="schemas.android.com/apk/res/android">

<style name="CustomWindowTitleBackground">
<item name="android:background">#565656</item>
</style>

<style name="test" parent="android:Theme">
<item name="android:windowTitleSize">50dp</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>

在程序的android_manifest.xml中對應activity中添加屬性android:theme = "@style/test" 就可以了
?

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="schemas.android.com/apk/res/android"
package="com.guardian"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name" >
<activity android:name=".Test"
android:label="@string/app_name"
android:theme = "@style/test" //就在這里
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>
<uses-sdk android:minSdkVersion="4" />

</manifest>

J. 怎麼自定義Android標題欄修改TitleBar的布局

Android程序默認的Activity標題欄只能顯示一段文字,而且不能改變它的布局、顏色、標題欄的高度等。如果想要在標題欄加上個圖標、button、輸入框、進度條、修改標題欄顏色等,只能使用自定義的標題欄。自定義標題欄可以通過在onCreate函數中添加以下代碼來實現,需要注意的是代碼的順序必須按照下面的樣式,否則將無效。
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.mainactivity); //Activity的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar); //標題欄的布局
雖然上面這樣可以在標題欄加入一些控制項,但是仍然不能改變標題欄的高度、背景色,要想達到這個目的,只能使用theme(主題)。因此往project里先添加一個style。改變背景色修改android:windowTitleBackgroundStyle的值,改變標題欄高度則修改android:windowTitleSize的值。下面是一個示例:






接著再修改AndroidManifest.xml文件,找到要自定義標題欄的Activity,添加上android:theme值,比如:

Java代碼
android:theme值就是上面那個style.xml文件里定義的一個style的name值。

按照以上的步驟,修改標題欄布局、高度、背景色的功能就實現了。

閱讀全文

與androidtitlebar高度相關的資料

熱點內容
flash命令行 瀏覽:664
反詐騙app怎麼找回密碼 瀏覽:631
java方法和函數 瀏覽:420
程序員衣服穿反 瀏覽:959
java多類繼承 瀏覽:159
怎麼用多玩我的世界連接伺服器地址 瀏覽:483
為什麼華為手機比安卓流暢 瀏覽:177
javamap多線程 瀏覽:228
卡西歐app怎麼改時間 瀏覽:843
jquery壓縮圖片 瀏覽:970
用紙筒做解壓東西 瀏覽:238
神奇寶貝伺服器如何tp 瀏覽:244
雲伺服器支持退貨嗎 瀏覽:277
貸款等額本息演算法 瀏覽:190
根伺服器地址配置 瀏覽:501
單片機是軟體還是硬體 瀏覽:624
vivo手機怎麼看編譯編號 瀏覽:320
塑鋼扣條演算法 瀏覽:301
linux應用程序安裝 瀏覽:414
linux怎麼查找命令 瀏覽:431