我想创建一个xml文件,其文本在所有设备上看起来至少有点类似,给定解决方案here我明白我可以使用sp或textAppearance并让它根据屏幕重新缩放。
所以我尝试了它,在日食上它显示如下:
和平板电脑模拟器一样:
至少从我所看到的情况来看,尽管屏幕已经增长,但尺寸并没有改变,为什么呢?我怎么做才能使它在所有设备上看起来相似,我不明白textview缩放是如何工作的。
这是我的xml:
<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:gravity="top"
tools:context="${relativePackage}.${activityClass}" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="22dp"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:text="Small Text"
android:textAppearance="?android:attr/textAppearanceSmall" />
编辑:
关于SP的相同故事:
<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:focusableInTouchMode="true"
android:gravity="top"
tools:context="${relativePackage}.${activityClass}" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="82dp"
android:text="100sp"
android:textSize="100sp" />
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="67dp"
android:text="15SP"
android:textSize="15sp" />
在不同的屏幕上尺寸相同!
答案 0 :(得分:0)
您可以做的最好的事情是在styles.xml中定义自己的样式。在我看来,这比完全依赖默认主题更好。它们确实从制造商变为制造商。只有使用Android操作系统的设备才能实现您的想法。
它们的大小并不相同。如果您查看styles.xml
中的sdk\platforms\android-4.3\data\res\values\
,您就能看到它。