Android中,BaseAdapter类中怎么获取屏幕宽度

Android中,BaseAdapter类中怎么获取屏幕宽度,第1张

像这种可能多处能用到的我一般在BaseApplication中初始化: 这样不论在哪里都可以调到

public class App extends Application {

private static App mInstance;

@Override

public void onCreate() {

mInstance = this;

}

/

获取当前手机屏幕的宽

/

public static int getPhoneWidth() {

// 手机屏幕的宽

WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);

return wmgetDefaultDisplay()getWidth();

}

/

获取当前手机屏幕的高

/

public static int getPhoneHeight() {

// 手机屏幕的高

WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);

return wmgetDefaultDisplay()getHeight();

}

}

VB中获取显示器尺寸

将窗体 属性 ScaleMode 设为 5: 英寸

这是显示的属性 ScaleWidth 是英寸

再由 API 调用 获取 窗体客户区 长宽,屏幕长宽

可以换算出 屏幕长宽 的英寸数

显示器尺寸就是对角线的长度

Private Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

Private Declare Function GetDesktopWindow Lib "user32" () As Long

Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Private Sub Command1_Click()

Dim h As Long

Dim rwindow As RECT

Dim rdesk As RECT

Dim l As Single

Dim t As Single

h = GetDesktopWindow

GetWindowRect h, rdesk

GetClientRect Mehwnd, rwindow

MeScaleMode = 5'英寸

l = MeScaleWidth / rwindowRight rdeskRight

t = MeScaleHeight / rwindowBottom rdeskBottom

Print Sqr(l l + t t)

End Sub

css不行的,如果用css表达式可以取到页面宽度和高度,但不兼容非ie浏览器。这个还是应该用js取:

documentdocumentElementclientWidth:取得浏览器页面可视区域的宽度documentdocumentElementclientHeight:取得浏览器页面可视区域的高度

screenwidth:取得屏幕宽度

screenheight:取得屏幕高度

screenavailWidth:取得除任务栏外的屏幕宽度

screenavailHeight取得除任务栏外的屏幕高度

级联样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。

CSS目前最新版本为CSS3,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。

一般来说在移动浏览器上是拿不到屏幕真实分辨率的,因为页面渲染是在一个叫viewport的页面绘制区域内(说的通俗点就是手机浏览器是用一个虚拟的屏幕来显示网页的)。viewport和屏幕的真实尺寸并不是对应的,如在Safari Mobile中viewport默认宽度(320px)是屏幕真实尺寸(640px)的一半,这里不管是用windowinnerHeight还是windowscreenwidth拿到的都是320px。当然我们可以通过meta设置改变viewport的比例,如initial-scale=5就可以让viewport和屏幕一致的尺寸,但这个比例在不同的手机上并不一定是2倍关系,特别是Android手机,在大屏手机(5寸以上)上这个值是3倍甚至4倍。而且改变viewport比例后可能会导致后续制作中出现一系列问题。所以我认为不要纠结一定要拿到屏幕真实尺寸,就把viewport的尺寸当成屏幕的尺寸进行页面设计和制作肯定是没有问题的。

有一个非常曲线的解决办法,就是:css的媒体查询(@media)是能够检测屏幕尺寸(其实是浏览器窗体的真实尺寸,并不是屏幕的真实物理尺寸,介意的朋友就不要看了)的,通过它来给网页内的某个元素设置一个特殊的属性,然后再用JavaScript来获取这个属性值。当然这样只能获得一个阶梯值(比如480px到540px之间、540px到600px之间等等),不是精确值,所以可能得不偿失,因此我是不推荐的。

以上就是关于Android中,BaseAdapter类中怎么获取屏幕宽度全部的内容,包括:Android中,BaseAdapter类中怎么获取屏幕宽度、高分- VB中如何获取显示器尺寸、如何将获取的屏幕宽度之后传给css等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9341891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存