导航:首页 > 操作系统 > 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高度相关的资料

热点内容
安卓手机mp3压缩工具 浏览:214
程序员和交易员 浏览:422
怎么变字体样式app 浏览:173
名字叫汤什么的视频app 浏览:207
金属加密键盘联系电话 浏览:335
自制解压牛奶盒子教程 浏览:64
编译高手的图片 浏览:922
单片机数码管显示时分秒 浏览:780
手指解压最简单的方法 浏览:345
韩国邮箱服务器地址 浏览:967
android版本介绍 浏览:410
pdf文件加密软件 浏览:410
长沙住房app怎么看备案 浏览:603
安装加密软件的电脑会被监控么 浏览:221
java微博源码 浏览:569
堆排序简单实现python 浏览:461
单片机引脚与键盘的关系 浏览:132
压缩火柴盒制作 浏览:38
谷歌地图android偏移 浏览:214
bitlocker硬盘加密空间 浏览:238