请帮忙理解。
我需要出现在一个特定的盒子里。
我是这样做的:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/fon"
tools:context=".MainActivity" >
....
<TextView
android:id="@+id/textView3"
android:layout_width="200dp"
android:layout_height="210dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:includeFontPadding="false"
android:lineSpacingMultiplier="0.8"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="20sp" />
....
</RelativeLayout>
一切都在4英寸的屏幕上工作,但如果采取大的对角线,它将是坏的。
增加屏幕时,textView大小不会改变
我使用“dp”和“sp”,而不是静态“px”,但不起作用......
为什么会这样?
截图:
答案 0 :(得分:1)
您可以为不同的屏幕尺寸和密度创建不同的资源目录,然后在每个资源目录中创建dimens.xml
,提供要在特定屏幕尺寸上使用的文本大小,例如:
RES /值-sw420dp / dimens.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="font_size">26sp</dimen>
</resources>
RES /值-sw600dp / dimens.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="font_size">30sp</dimen>
</resources>
RES /值-sw720dp / dimens.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="font_size">36sp</dimen>
</resources>
然后在布局文件中调用它:
android:textSize="@dimen/font_size"
这是文字大小的解决方案,但您可以对宽度和高度做同样的事情。
更多资源:
答案 1 :(得分:0)
文本视图大小是静态的,因为您已为它们定义了固定大小。使用换行内容。
android:layout_width="wrap_content"
android:layout_height="wrap_content"
答案 2 :(得分:0)
您应该将TextView android:layout_width和android:layout_height调整为
android:layout_width="wrap_content"
android:layout_height="wrap_content"
如果您希望TextView在白色背景中居中,则应添加另一个属性
android:layout_centerInParent="true"