當前位置:首頁 » 安卓系統 » androidactionbar高度

androidactionbar高度

發布時間: 2022-07-24 01:05:27

Ⅰ 如何調整Android ActionBar向上按鈕與屏幕左側的距離

可行的解決辦法是:
(1) 我想到的最直接的辦法是重新切一張圖,理由如下:
Google官網給出的「左向箭頭」的material icon,就包含上下左右間距:
(2) 看你的代碼,你已經為action bar提供了自定義的布局R.layout.my_booking_actionbar,為什麼不做的徹底一些呢?放棄使用android提供的Home鍵android.R.id.home作為UpIndicator。

而是在這個布局中添加一個ImageView,這樣就可以自定義你需要的間距離。然後實現ImageView.OnClickListener,點擊時返回父activity。
private void initActionBar() {
ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.actionbar_crime_fragment);
View actionView = actionBar.getCustomView();

ImageView upButton = (ImageView) actionView.findViewById(R.id.actionBarUp);
upButton.setOnClickListener(new OnClickListener() {
@Override

Ⅱ android 的action bar有什麼作用

下面是一個actionbar的使用截圖,來源於android學習手冊,360手機助手中可下載,裡面有108個例子,源碼還有文檔


Action bar是一個標識應用程序和用戶位置的窗口功能,並且給用戶提供操作和導航模式。在大多數的情況下,當你需要突出展現用戶行為或全局導航的activity中使用action bar,因為action bar能夠使應用程序給用戶提供一致的界面,並且系統能夠很好根據不同的屏幕配置來適應操作欄的外觀。你能夠用ActionBar的對象的API來控制操作欄的行為和可見性,這些API被添加在Android3.0(API 級別 11)中。


Action bar的主要目的是:


1.提供一個用於識別應用程序的標示和用戶的位置的專用空間。

這個空間的左邊是應用的圖標或logo,以及Activity的標題。但是,如果是像當前選擇的標簽這樣的標識當前View對象的導航標簽,你可以選擇刪除Activity的標題。

2.在不同的應用程序之間提供一致的導航和視覺體驗。

Action bar提供了用於Fragment間切換的內置導航標簽。它還提供了一個用於替換導航模式或優化當前視覺效果(如按照不同條件排序的列表)的下拉列表。

3.突出Activity的關鍵操作(如「搜索」、「創建」、「共享」等),並且在可預見的方法內給用戶提供快捷的訪問

對於關鍵的用戶操作,你能夠通過把選項菜單項作為操作項直接放到操作欄中,從而提供快捷的訪問。操作項目還能提供一個操作窗口,這個窗口給更直接的操作行為提供一個嵌入的窗口部件。沒有改進成操作項的菜單項在溢出菜單中還是有效的,用戶既可以使用設備上的菜單按鈕(設備上有按鈕的時候),也可以使用操作欄中的溢出菜單按鈕(當設備上不包含菜單按鈕時)來顯示這些操作項目。

上面的總結一下:Action bar就是替換3.0以前的tittle bar和menu。


圖1. Honeycomb Gallery應用中的操作欄,從左邊開始,依次是logo、導航選項標簽和操作項(在右邊插入的一個懸浮菜單按鈕)。

Note:If you're looking for information about the contextual action bar for displaying contextual action items, see theMenuguide.

Action Bar Design For design guidelines, read Android Design'sAction Barguide.


添加Action Bar

從Android3.0(API級別 11)開始,Action bar被包含在所有的使用Theme.Hole主題的Activity(或者是這些Activity的子類)中,當targetSdkVersion或minSdkVersion屬性被設置為「11」或更大的數值是,這個主題是默認的主題一。如:

[html] view plain print?

<manifest...>

<uses-sdkandroid:minSdkVersion="4"

android:targetSdkVersion="11"/>

...

</manifest>

<manifest ... >
<uses-sdk android:minSdkVersion="4"
android:targetSdkVersion="11" />
...
</manifest>


在這個例子中,應用程序要求最小的API版本級別是4(Android 1.6),但是它還要求了目標API版本級別是11(Android 3.0)。這樣,當應用程序運行在Android3.0或更高的版本上時,系統就會給每個Activity應用holographic 主題,這樣,每個Activity就會包含Action bar。

如果你想使用ActionBar API來進行添加導航模式和修改操作欄樣式的操作,你應該把minSdkVersion屬性設置為「11」或更大的值。有一些方法可以使你的應用支持更舊的Android版本,同時在API等級為11或更高的API等級的機器的使你的應用支持一些Action bar apis。為了保持後向兼容,請參考邊框內的內容(邊框內容如下)。


Remaining backward-compatible


If you want to provide an action bar in your applicationandremain compatible with versions of Android older than 3.0, you need to create the action bar in your activity's layout (because theActionBarclass is not available on older versions).

To help you, theAction Bar Compatibilitysample app provides an API layer and action bar layout that allows your app to use some of theActionBarAPIs and also support older versions of Android by replacing the traditional title bar with a custom action bar layout.

刪除Action bar

如果你不想要Action bar,把Activity的主題設置為Theme.Holo.NoActionBar就可以了,如:

[html] view plain print?

<activityandroid:theme="@android:style/Theme.Holo.NoActionBar">

<activity android:theme="@android:style/Theme.Holo.NoActionBar">
或者使用Action bar的 hide()方法,如下:


[java] view plain print?

ActionBaractionBar=getActionBar();

actionBar.hide();

ActionBar actionBar = getActionBar();
actionBar.hide();


當Action bar隱藏時,系統會調整你的Activity來填充當前有效的屏幕空間。你能夠使用show()方法來再次顯示操作欄。

在隱藏和刪除Action bar時,要當心為了適應被Action bar佔用的空間而導致的Activity的重新布局。如果你的Activity有規律的隱藏和顯示Action bar,你可能想要使用覆蓋模式。覆蓋模式在Activity的頂部描畫操作欄,而不是在它們所擁有的屏幕的區域。這樣,在Action bar隱藏和重新顯示時,你的布局保持不變。要使用覆蓋模式,就要給Activity創建一個主題,並且把android:windowActionBarOverlay屬性設置為true。

提示:如果你有一個刪除了Action bar的定製化的Activity主題,它把android:windowActionBar樣式屬性設置為false。但是,如果你使用了刪除Action bar的一個主題,那麼,創建窗口將不允許Action bar再顯示,因此,你不能在以後給這個Activity添加Action bar---因為getActionBar()方法將返回null。


添加操作項

有些時候,你可能想要讓用戶直接訪問選項菜單中的一個項目,因此你要把應該在Action bar中顯示的菜單項作為一個操作項來聲明。操作項能夠能夠包含一個圖標或文本標題。如果一個菜單項不作為一個操作項顯示,那麼系統就會把它放到懸浮菜單中。懸浮菜單既可以通過設備的Menu按鈕來顯示,也可以在Action bar中一個額外的按鈕來顯示。

當Activity首次啟動時,系統會調用onCreateOptionsMenu()方法給你的Activity組裝Action bar和懸浮菜單。在這個回調方法中應該載入在XML文件中定義的菜單項資源,如:

[java] view plain print?

@Override

(Menumenu){

MenuInflaterinflater=getMenuInflater();

inflater.inflate(R.menu.main_activity,menu);

returntrue;

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity, menu);
return true;
}

圖2. 帶有圖標和文本標題的兩個操作項,和懸浮菜單按鈕。

在XML文件中,你能夠通過給<item>元素聲明android:showAsAction=」ifRoom」屬性,請求把一個菜單項作為一個操作項來顯示。用這種方式,只在有有效的空間時,菜單項才能顯示在Action bar中。如果沒有足夠的空間,這個菜單項會顯示在懸浮菜單中。

如果你的菜單項支持標題和圖標---帶有android:title和android:icon屬性---那麼默認情況下,操作項僅顯示圖標。如果你要顯示文本標題,就要給android:showAsAction屬性添加withText設置,如:

Ⅲ 布局中的attr/actionBarSize什麼意思具體解釋一下

AppCompatTheme的一個自定義屬性,是ActionBar的高度,你也可以自定義

Ⅳ 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());

Ⅳ 如何使用android-support-V7包中ActionBar

以前3.0以前的版本要使用ActionBar,必須使用國外大牛寫的ActionBarSherlock這個開源項目。今年的Google/IO大會之後,Gooogle官方在android-support-v 7包中添加了ActionBar,開始讓2.1以後的版本支持ActionBar,從此以後曾經最火的Android開源項目ActionBarSherlock可以退出歷史舞台了。

要是用V7包中ActionBar也很簡單,但有一個需要主要的地方。有些人可能該開始僅僅是把android-support-v7-appcompat.jar導入項目中

具體使用 步驟 (針對於Eclipse):

Create a library project based on the support library code:

Make sure you have downloaded the Android Support Library using the SDK Manager .
Create a library project and ensure the required JAR files are included in the project's build path:
Select File > Import .
Select Existing Android Code Into Workspace and click Next .
Browse to the SDK installation directory and then to the Support Library folder. For example, if you are adding the appcompat project, browse to <sdk>/extras/android/support/v7/appcompat/ .
Click Finish to import the project. For the v7 appcompat project, you should now see a new project titled android-support-v7-appcompat .
In the new library project, expand the libs/ folder, right-click each .jar file and select Build Path > Add to Build Path . For example, when creating the the v7 appcompat project, add both the android-support-v4.jar and android-support-v7-appcompat.jar files to the build path.
Right-click the project and select Build Path > Configure Build Path .
In the Order and Export tab, check the .jar files you just added to the build path, so they are available to projects that depend on this library project. For example, the appcompat project requires you to export both the android-support-v4.jar and android-support-v7-appcompat.jar files.
Uncheck Android Dependencies .
Click OK to complete the changes.

Ⅵ 如何自定義ActionBar中Tab的高度

解決方案 »

ActionBar的高度是在framework的樣式中定義的
<style name="Widget.ActionBar">
<item name="android:background">@android:drawable/action_bar_background</item>
<item name="android:displayOptions">useLogo|showHome|showTitle</item>
<item name="android:divider">@android:drawable/action_bar_divider</item>
<item name="android:height">?android:attr/actionBarSize</item>
<item name="android:paddingLeft">0dip</item>
<item name="android:paddingTop">0dip</item>
<item name="android:paddingRight">0dip</item>
<item name="android:paddingBottom">0dip</item>
<item name="android:titleTextStyle">@android:style/TextAppearance.Widget.ActionBar.Title</item>
<item name="android:subtitleTextStyle">@android:style/TextAppearance.Widget.ActionBar.Subtitle</item>
<item name="android:progressBarStyle">@android:style/Widget.ProgressBar.Horizontal</item>
<item name="android:indeterminateProgressStyle">@android:style/Widget.ProgressBar.Small</item>
<item name="android:homeLayout">@android:layout/action_bar_home</item>如果想修改,可以自定義樣式,來繼承ActionBar的樣式;或者在當前主題中修改


ActionBar的系統樣式在framework/base/core/res/res/values/styles里有定義
系統定義了ActionBar的高度<item name="android:height">?android:attr/actionBarSize</item>如果想修改,可以考慮自定義一個樣式,繼承系統的ActionBarStyle,自定義高度又或者在當前的主題中修改

Ⅶ android標題欄高度是多少

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

1
2
3

int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
//statusBarHeight是上面所求的狀態欄的高度
int titleBarHeight = contentTop - statusBarHeight

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

1
2
3

Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;

2、獲取屏幕高度

1
2
3
4
5

方法1:
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
screenWidth = display.getWidth();
screenHeight = display.getHeight();

1
2
3
4
5

方法2:
DisplayMetrics dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指當前activity
screenWidth =dm.widthPixels;
screenHeight =dm.heightPixels;

熱點內容
天貓怎麼上傳視頻 發布:2025-01-22 16:40:02 瀏覽:725
安卓如何把抖音評論換成黑色 發布:2025-01-22 16:30:57 瀏覽:700
連接池Java 發布:2025-01-22 16:28:27 瀏覽:258
搶杠演算法 發布:2025-01-22 16:15:02 瀏覽:72
圖片伺服器ftp 發布:2025-01-22 15:52:33 瀏覽:507
sql打開bak文件 發布:2025-01-22 15:47:32 瀏覽:107
opengl伺服器源碼 發布:2025-01-22 15:40:02 瀏覽:909
python部署服務 發布:2025-01-22 15:38:46 瀏覽:283
壓縮機卡裝 發布:2025-01-22 15:37:04 瀏覽:447
每天跑步40分鍾可以緩解壓力嗎 發布:2025-01-22 15:33:24 瀏覽:449