[Android文本[重复]中的dp或sp

问题描述 投票:2回答:2
我对Android有疑问,需要您的帮助。我有以下RadioButton:

<RadioButton android:id="@+id/r_Button_Standard" android:layout_width="95dp" android:layout_height="35dp" android:layout_weight="1" android:background="@drawable/background_selector" android:text="@string/radioButton_standard" android:checked="true" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.642" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" android:layout_marginLeft="10dp" app:layout_constraintVertical_bias="0.671" />

看起来像这样:RadioButton现在,Android Studio会生成一条警告,告诉我使用"Should use "sp" instead of "dp" for text sizes",并进一步告诉"There are cases where you might need to use dp; typically this happens when the text is in a container with a specific dp-size. This will prevent the text from spilling outside the container. Note however that this means that the user's font size settings are not respected, so consider adjusting the layout itself to be more flexible."

所以现在我的问题是怎么办?基本上,该文本位于容器中,并且显然不应溢出到容器外部。所以我认为我应该使用dp。 “更灵活的布局”是什么意思?

评论:Altough'IntelliJ Amiya'结束了这个问题,并提供了一个问题的链接,根据他的观点,该问题回答了我的问题(Should use "sp" instead of "dp" for text sizes),我必须说,实际上并非如此。我说的是容器中的文本,而不是一般文本。

更新:这是我的XML布局文件:

<?xml version="1.0" encoding="utf-8"?> <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"> <ImageView android:id="@+id/imageView" tools:ignore="ContentDescription" android:layout_width="465dp" android:layout_height="262dp" android:scaleType="fitXY" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.0" app:srcCompat="@drawable/test_dish_1" /> <TextView android:id="@+id/cocktailName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Test " android:textColor="#000000" android:textSize="28dp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.482" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.434" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Zutaten: Zutat_1, Zutat_2, Zutat_3,\n Zutat_4, Zutat_5, Zutat_6" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.489" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/textViewA" android:layout_width="95dp" android:layout_height="35dp" android:text="Option_2" android:textColor="#000000" android:textSize="22dp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.012" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.671" /> <ImageButton android:id="@+id/commentButton" android:layout_width="100dp" android:layout_height="50dp" android:background="@null" android:contentDescription="comment_Button" android:scaleType="fitCenter" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.799" app:srcCompat="@mipmap/comment" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/comment_TextView" android:textSize="18dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.025" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.729" /> <CheckBox android:id="@+id/checkBox" android:layout_width="95dp" android:layout_height="35dp" android:checked="true" android:text="Check" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.967" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.761" /> <Button android:id="@+id/ordering_button" android:layout_width="163dp" android:layout_height="72dp" android:background="@drawable/custom_button" android:text="Bestellen" android:textAllCaps="false" android:textColor="#121212" android:textSize="25sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.867" /> <TextView android:id="@+id/textViewS" android:layout_width="95dp" android:layout_height="35dp" android:text="Option_1" android:textColor="#000000" android:textSize="22dp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.012" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.584" /> <LinearLayout android:background="#FFD600" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" android:id="@+id/bottom_layout" android:layout_width="0dp" android:layout_height="60dp"> <Button android:id="@+id/button1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_margin="4dp" android:layout_weight="1" android:background="@drawable/test_dish_1" android:text="Back" /> <Button android:layout_gravity="center_vertical" android:id="@+id/button2" android:layout_weight="1" android:text="Button2" android:layout_width="0dp" android:layout_margin="4dp" android:layout_height="wrap_content"/> <Button android:layout_gravity="center_vertical" android:id="@+id/button3" android:layout_width="0dp" android:layout_weight="1" android:text="Button3" android:layout_margin="4dp" android:layout_height="wrap_content"/> <Button android:layout_gravity="center_vertical" android:id="@+id/button4" android:layout_width="0dp" android:layout_weight="1" android:text="Button1" android:layout_margin="4dp" android:layout_height="wrap_content"/> </LinearLayout> <RadioGroup android:id="@+id/radioGroup_Size" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintVertical_bias="0.583" app:layout_constraintHorizontal_bias="0.862" app:layout_constraintTop_toTopOf="parent"> <RadioButton android:id="@+id/r_Button_Small" android:layout_width="95dp" android:layout_height="35dp" android:layout_weight="1" android:background="@drawable/background_selector" android:text="Klein" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.319" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" android:layout_marginLeft="10dp" app:layout_constraintVertical_bias="0.584" /> <RadioButton android:id="@+id/r_Button_Medium" android:layout_width="95dp" android:layout_height="35dp" android:layout_weight="1" android:background="@drawable/background_selector" android:checked="true" android:text="Normal" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.962" app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="10dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.583" /> <RadioButton android:id="@+id/r_Button_Large" android:layout_width="95dp" android:layout_height="35dp" android:layout_weight="1" android:background="@drawable/background_selector" android:text="Groß" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.962" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" android:layout_marginLeft="10dp" app:layout_constraintVertical_bias="0.584" /> </RadioGroup> <RadioGroup android:id="@+id/radioGroup_alcohol" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintVertical_bias="0.671" app:layout_constraintHorizontal_bias="0.872" app:layout_constraintTop_toTopOf="parent"> <RadioButton android:id="@+id/r_Button_Less" android:layout_width="95dp" android:layout_height="35dp" android:layout_weight="1" android:background="@drawable/background_selector" android:text="Weniger" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.319" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.671" /> <RadioButton android:id="@+id/r_Button_Standard" android:layout_width="95dp" android:layout_height="35dp" android:layout_weight="1" android:background="@drawable/background_selector" android:text="@string/radioButton_standard" android:checked="true" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.642" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" android:layout_marginLeft="10dp" app:layout_constraintVertical_bias="0.671" /> <RadioButton android:id="@+id/r_Button_More" android:layout_width="95dp" android:layout_height="35dp" android:layout_weight="1" android:background="@drawable/background_selector" android:text="Mehr" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.962" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" android:layout_marginLeft="10dp" app:layout_constraintVertical_bias="0.671" /> </RadioGroup> </android.support.constraint.ConstraintLayout>

android radio-button screen-resolution
2个回答
1
投票
阅读本文以完全理解SP,DP和Piexel:

Medium Article

TL; DR

SP == DP,但设备设置应用程序中的用户字体大小首选项也将应用于

考虑到用户在设置中增加了字体大小,可能他想在您的应用程序中看到更大的字体大小,sp会解决这个问题。

  • <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"> <ImageView android:id="@+id/imageView" android:layout_width="0dp" android:layout_height="250dp" android:scaleType="fitXY" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@drawable/test_dish_1" tools:ignore="ContentDescription" /> <TextView android:id="@+id/cocktailName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="Test " android:textColor="#000000" android:textSize="28dp" android:textStyle="bold" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.482" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/imageView" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:text="Zutaten: Zutat_1, Zutat_2, Zutat_3,\n Zutat_4, Zutat_5, Zutat_6" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.489" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/cocktailName" /> <TextView android:id="@+id/textViewA" android:layout_width="95dp" android:layout_height="35dp" android:layout_marginStart="8dp" android:layout_marginTop="32dp" android:text="Option_2" android:textColor="#000000" android:textSize="22dp" android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textViewS" /> <ImageButton android:id="@+id/commentButton" android:layout_width="100dp" android:layout_height="50dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:background="@null" android:contentDescription="comment_Button" android:scaleType="fitCenter" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView2" app:srcCompat="@mipmap/comment" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="16dp" android:text="@string/comment_TextView" android:textSize="18dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.025" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textViewA" /> <CheckBox android:id="@+id/checkBox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="16dp" android:checked="true" android:text="Check" app:layout_constraintBottom_toTopOf="@+id/ordering_button" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@+id/radioGroup_alcohol" /> <Button android:id="@+id/ordering_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:background="@drawable/custom_button" android:padding="16dp" android:text="Bestellen" android:textAllCaps="false" android:textColor="#121212" android:textSize="25sp" app:layout_constraintBottom_toTopOf="@+id/bottom_layout" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" /> <TextView android:id="@+id/textViewS" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="32dp" android:text="Option_1" android:textColor="#000000" android:textSize="22dp" android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView3" /> <LinearLayout android:background="#FFD600" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" android:id="@+id/bottom_layout" android:layout_width="0dp" android:layout_height="60dp"> <Button android:id="@+id/button1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_margin="4dp" android:layout_weight="1" android:background="@drawable/test_dish_1" android:text="Back" /> <Button android:layout_gravity="center_vertical" android:id="@+id/button2" android:layout_weight="1" android:text="Button2" android:layout_width="0dp" android:layout_margin="4dp" android:layout_height="wrap_content"/> <Button android:layout_gravity="center_vertical" android:id="@+id/button3" android:layout_width="0dp" android:layout_weight="1" android:text="Button3" android:layout_margin="4dp" android:layout_height="wrap_content"/> <Button android:layout_gravity="center_vertical" android:id="@+id/button4" android:layout_width="0dp" android:layout_weight="1" android:text="Button1" android:layout_margin="4dp" android:layout_height="wrap_content"/> </LinearLayout> <RadioGroup android:id="@+id/radioGroup_Size" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="32dp" android:layout_marginEnd="8dp" android:orientation="horizontal" app:layout_constraintBottom_toBottomOf="@+id/textViewS" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/textViewS" app:layout_constraintTop_toBottomOf="@+id/textView3"> <RadioButton android:id="@+id/r_Button_Small" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_weight="1" android:background="@drawable/background_selector" android:padding="4" android:text="Klein" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.319" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.584" /> <RadioButton android:id="@+id/r_Button_Medium" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_weight="1" android:background="@drawable/background_selector" android:checked="true" android:padding="4dp" android:text="Normal" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.962" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.583" /> <RadioButton android:id="@+id/r_Button_Large" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_weight="1" android:background="@drawable/background_selector" android:padding="4dp" android:text="Groß" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.962" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.584" /> </RadioGroup> <RadioGroup android:id="@+id/radioGroup_alcohol" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="32dp" android:layout_marginEnd="8dp" android:orientation="horizontal" app:layout_constraintBottom_toBottomOf="@+id/textViewA" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/textViewA" app:layout_constraintTop_toBottomOf="@+id/radioGroup_Size"> <RadioButton android:id="@+id/r_Button_Less" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/background_selector" android:padding="4dp" android:text="Weniger" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.319" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.671" /> <RadioButton android:id="@+id/r_Button_Standard" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_weight="1" android:background="@drawable/background_selector" android:checked="true" android:padding="4dp" android:text="@string/radioButton_standard" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.642" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.671" /> <RadioButton android:id="@+id/r_Button_More" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_weight="1" android:background="@drawable/background_selector" android:padding="4dp" android:text="Mehr" android:textColor="@drawable/text_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.962" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.671" /> </RadioGroup> </android.support.constraint.ConstraintLayout>

  • 0
    投票
    我们更喜欢使用sp作为屏幕上的文本,因为如果用户想通过设置(例如:小,中,大)更改文本大小,则会根据屏幕自动缩放这些文本。但是在使用dp的情况下,每部电话的像素密度都不同(例如:在4 x 4正方形空间中,某些电话可能有4像素,而其他电话则有16像素),因此不建议使用dp 。
    © www.soinside.com 2019 - 2024. All rights reserved.