gpt4 book ai didi

Android 布局在所有屏幕尺寸上的相对尺寸相同

转载 作者:行者123 更新时间:2023-11-29 02:02:54 25 4
gpt4 key购买 nike

一个困扰了我好几个星期的问题,尝试了一切,但无济于事。

我想要做的是在每个屏幕尺寸上都有完全相同的布局。让我用一张图来说明:

在 2.7 英寸设备上:
2.7inch

在 10.1 英寸设备上(出于说明目的,图片经过严重的 photoshop):
10.1inchdesired

但是使用当前的 Android 实现,我在 10.1 英寸设备上得到了这个:
10.1inch

简而言之,我希望我的应用程序在所有屏幕尺寸上看起来都一样(相对而言),包括按钮尺寸、文本缩放等。我之前通过重写 View 类,制作自己的 View 并在里面绘制所有内容来做到这一点,但是使用这种方法,添加 View 元素变得非常快速,并且具有“onClick”回调功能的优势也消失了(因为我只是以编程方式在覆盖的 View 类中绘制位图以用作按钮)。有没有办法使用 android xml 文件来实现这一点?

这是我的(测试)XML 代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center">

<Button
android:id="@+id/button_1"
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:text="ABCDEF" />
<Button
android:id="@+id/button_2"
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:text="GHI" />
<Button
android:id="@+id/button_3"
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:text="JKLM" />
</LinearLayout>

最佳答案

if ((getResources().getConfiguration().screenLayout &      Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {     
Toast.makeText(this, "Large screen",Toast.LENGTH_LONG).show();

}
else if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) {
Toast.makeText(this, "Normal sized screen" , Toast.LENGTH_LONG).show();

}
else if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) {
Toast.makeText(this, "Small sized screen" , Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this, "Screen size is neither large, normal or small" , Toast.LENGTH_LONG).show();
}

我认为这可以帮助您通过此代码 fragment 使您的应用在所有屏幕分辨率上看起来都相似,您可以根据各自的屏幕尺寸以编程方式缩放控件。

谢谢 :)

关于Android 布局在所有屏幕尺寸上的相对尺寸相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11638197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com