Android根据屏幕尺寸(手机还是平板电脑)缩放文本和图像

埃迪·里奇

我对px,dp和sp之间的区别有很好的了解。问题是,当我在屏幕上放置TextView(或ImageView)时,dpi无关紧要。在160 dpi的3英寸高屏幕上,80px的文本大小将为1/2英寸或高度的1/6。在具有160 dpi的7英寸高屏幕上,它仍然是1/2英寸,但是现在是高度的1/14。

问题是,使用dp(或sp),手机上看起来不错的东西在平板电脑上消失了。

有没有办法指定百分比的屏幕尺寸,例如百分比?

卡米尔

我不确定是否可以按百分比指定尺寸,但是为什么不在dimen.xml文件中为屏幕定义不同的尺寸。对于所有屏幕尺寸,都很难使用相同的dp和sp值。

您需要创建不同的dimens.xml不同的资源文件夹

 res/values-ldpi/dimens.xml
 res/values-mdpi/dimens.xml
 res/values-hdpi/dimens.xml

接下来向这些文件添加一些值

 <!-- in values-ldpi/dimens.xml -->
 <dimen name="textSize">25dip</dimen>

 <!-- in values-mdpi/dimens.xml -->
 <dimen name="textSize">20dip</dimen>

最终引用布局文件中的尺寸:

<TextView
    android:layout_toRightOf="@id/at"
    android:layout_below="@id/hw"
    android:textSize="@dimen/textSize"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

编辑:

如果要将图像高度设置为屏幕尺寸的1/10,则需要在视图容器中使用android:layout_weight属性。检查以下示例。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_weight="1"
        >

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/imageView"
            android:background="@drawable/ic_launcher" />
    </LinearLayout>

        <LinearLayout
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:weightSum="1"
            android:layout_weight="9"
            >
 </LinearLayout>

 </LinearLayout>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

适用于Android平板电脑和手机的HTML中不同的图像宽度

来自分类Dev

Android初始屏幕尺寸,与智能手机和平板电脑的兼容性,疑问

来自分类Dev

平板电脑和手机尺寸上的折叠式引导导航栏

来自分类Dev

电脑和智能手机/平板电脑上的图像颜色不同

来自分类Dev

以编程方式确定设备是手机还是平板电脑

来自分类Dev

检测平板电脑和智能手机

来自分类Dev

片段中的操作栏-平板电脑和手机

来自分类Dev

修复了平板电脑和手机问题的导航栏

来自分类Dev

建议为平板电脑和手机开发?

来自分类Dev

片段中的操作栏-平板电脑和手机

来自分类Dev

Xamarin.Forms平板电脑和手机

来自分类Dev

Android版式设计:平板电脑优先或手机优先

来自分类Dev

手机/平板电脑的纵向模式和Android TV的横向模式?

来自分类Dev

如何根据不同的屏幕尺寸(例如平板电脑)在横幅部分制作横幅和图像

来自分类Dev

修复平板电脑和手机上的屏幕方向

来自分类Dev

手机和平板电脑应用

来自分类Dev

UiAutomator检测平板电脑与手机

来自分类Dev

支持手机和平板电脑,而不是平板电脑

来自分类Dev

在安装我的应用程序时检测设备是手机还是平板电脑

来自分类Dev

检查设备是手机,平板电脑还是机顶盒的可靠方法

来自分类Dev

如何使该div扩展到手机/平板电脑的屏幕的100%?

来自分类Dev

我们可以为Android平板电脑和智能手机单独准备清单吗?

来自分类Dev

哪些视频格式可以普遍观看?(跨浏览器,平板电脑和智能手机等)和标准尺寸

来自分类Dev

Android屏幕方向(根据手机屏幕宽度)

来自分类Dev

如何根据手机,平板电脑,台式机制作可拉伸的引导程序div

来自分类Dev

Boostrap 3:如何为(手机/平板电脑)版本提供不同的图像?

来自分类Dev

手机屏幕上的页脚尺寸

来自分类Dev

如何查找Android手机或平板电脑是否支持Android Open Accessory(AOA)协议?

来自分类Dev

如何将平板电脑清单中的方向设置为手机的横向和纵向?

Related 相关文章

  1. 1

    适用于Android平板电脑和手机的HTML中不同的图像宽度

  2. 2

    Android初始屏幕尺寸,与智能手机和平板电脑的兼容性,疑问

  3. 3

    平板电脑和手机尺寸上的折叠式引导导航栏

  4. 4

    电脑和智能手机/平板电脑上的图像颜色不同

  5. 5

    以编程方式确定设备是手机还是平板电脑

  6. 6

    检测平板电脑和智能手机

  7. 7

    片段中的操作栏-平板电脑和手机

  8. 8

    修复了平板电脑和手机问题的导航栏

  9. 9

    建议为平板电脑和手机开发?

  10. 10

    片段中的操作栏-平板电脑和手机

  11. 11

    Xamarin.Forms平板电脑和手机

  12. 12

    Android版式设计:平板电脑优先或手机优先

  13. 13

    手机/平板电脑的纵向模式和Android TV的横向模式?

  14. 14

    如何根据不同的屏幕尺寸(例如平板电脑)在横幅部分制作横幅和图像

  15. 15

    修复平板电脑和手机上的屏幕方向

  16. 16

    手机和平板电脑应用

  17. 17

    UiAutomator检测平板电脑与手机

  18. 18

    支持手机和平板电脑,而不是平板电脑

  19. 19

    在安装我的应用程序时检测设备是手机还是平板电脑

  20. 20

    检查设备是手机,平板电脑还是机顶盒的可靠方法

  21. 21

    如何使该div扩展到手机/平板电脑的屏幕的100%?

  22. 22

    我们可以为Android平板电脑和智能手机单独准备清单吗?

  23. 23

    哪些视频格式可以普遍观看?(跨浏览器,平板电脑和智能手机等)和标准尺寸

  24. 24

    Android屏幕方向(根据手机屏幕宽度)

  25. 25

    如何根据手机,平板电脑,台式机制作可拉伸的引导程序div

  26. 26

    Boostrap 3:如何为(手机/平板电脑)版本提供不同的图像?

  27. 27

    手机屏幕上的页脚尺寸

  28. 28

    如何查找Android手机或平板电脑是否支持Android Open Accessory(AOA)协议?

  29. 29

    如何将平板电脑清单中的方向设置为手机的横向和纵向?

热门标签

归档