当前位置: 首页 > 知识库问答 >
问题:

如何针对不同屏幕大小动态调整文本大小和边距?[副本]

贺方伟
2023-03-14

我正在使用constraintlayout开发一个android应用程序。它在不同的屏幕尺寸上显示正确,然而,我希望文本视图增加尺寸和元素之间的间距,以利用更大屏幕手机上的更大屏幕房地产。

我读到过可以为不同的密度或大小(xxhdpi,xhdpi)创建不同的XML布局,但我认为constraintlayout相对于相对布局的主要优势之一是它可以自动调整间距/大小。您能用约束布局来实现这一点吗,还是需要为每个屏幕大小/密度创建单独的xml布局?谢谢!

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:layout_editor_absoluteY="81dp">

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="19dp"
        android:backgroundTint="@color/colorAccent"
        app:layout_constraintBottom_toTopOf="@+id/inView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/lbsView"
        app:layout_constraintTop_toTopOf="parent" />


    <TextView
        android:id="@+id/weightView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="27dp"
        android:layout_marginTop="21dp"
        android:layout_marginEnd="14dp"
        android:text="Weight:"
        android:textSize="26sp"
        app:layout_constraintEnd_toStartOf="@+id/weight"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

这是我的约束布局的一个示例。

共有1个答案

孙夕
2023-03-14

您可以使用值-[smallestwidty]为您的tex设置不同的大小。

屏幕的基本大小,由可用屏幕面积的最短尺寸表示。具体地说,设备的smallestWidth是屏幕可用高度和宽度中最短的一个(您也可能认为它是屏幕的“最小可能宽度”)。您可以使用这个限定符来确保,无论屏幕的当前方向如何,您的应用程序至少有dps的宽度可供it UI使用。

示例:让confider 3键入不同的布局,小的、中的、大的

values       : <dimen name="text_size">10sp</dimen>
values-sw375 : <dimen name="text_size">11sp</dimen>
values-sw600 : <dimen name="text_size">18sp</dimen>
 类似资料:
  • 嘿,伙计们,我只是想问一下,当我们显示一个背景图片在我们的活动,我们把图片放在可绘制的文件夹与子不同的文件夹,像 并且每个文件夹都有一个特定的密度和尺寸,这样它就可以支持多个设备等。 我想问一下,如果我的图片尺寸是3000*3000,我是否需要为每个文件夹修改我的图片 首先,我必须修改它为720*1280的xhdpi,然后把它放在layout_xhdpi文件夹,然后我修改它为hdpi,即400*8

  • 我是一个新的android开发和我正在尝试创建和应用程序与网格菜单,菜单。 当前依赖项:compile fileTree(目录:“libs”,include:['*.jar'])testCompile“junit:junit:4.12”编译组:“org.apache.httpcomponents”,名称:“httpclient-android”,版本:“4.3.5.1”编译组:“cz.mseber

  • 问题内容: 我一直试图(徒劳地)建立一个页面,当我更改窗口大小时,其元素将重新调整大小。我可以在CSS中使用它来处理图像,但是没有问题,但是我似乎无法在文本上完成相同的操作,而且我不确定在CSS中是否有可能。而且我似乎找不到能完成此任务的jQuery脚本。 当用户调整窗口大小时,我实质上希望页面能够动态流畅地缩放,而无需用户调用页面缩放。通过css在我的img div上这可以正常工作,但对于文本则

  • 我有一个JFrame,其中包含一个面板。我还向面板添加了。到目前为止,我所做的是在我的框架上使用来对调整窗口大小做出反应。 下面是我的代码片段: 当更改框架的大小时,的大小可以完全调整。但是当我最大化我的框架,图表面板不会改变它的大小!它保持在最大化之前的时刻。因此,当我再次“取消最大化”我的框架时,图表面板被最大化,这导致了问题,图表将不再适合图表面板。所有这些调整尺寸的事情似乎都“落后一步”.

  • 问题内容: 我需要将用户输入的文本显示为固定大小的div。我想要的是自动调整字体大小,以使文本尽可能多地填充框中。 所以-如果div为400px x 300px。如果有人输入ABC,那么它确实是大字体。如果他们输入一个段落,那么它将是很小的字体。 我可能想从最大字体大小开始-也许是32px,并且当文本太大而无法容纳容器时,请缩小字体大小直到适合为止。 问题答案: 和我的HTML是这样的 这是我的第

  • 我正在制作一个网站,它显示一定数量的文本。例如: “Lorem ipsum dolor sit amet,concetetur adipiscing elit。Suspendisse imperdiet venenatis nulla,sed viverra arcu eget ornare。Morbi commodo,ullamcorper neque egestas,est est iacul