我开发了一款游戏,其中包含一个带有1个字母的textview框。 在模拟器中一切正常,但是,当我试图在手机上看到它时,字母向下移动,并在中间切出字母。
目前,我的风格如此:
<style name="MoveLetter">
<item name="android:layout_width">@dimen/BoxSize</item>
<item name="android:layout_height">@dimen/BoxSize</item>
<item name="android:background">@drawable/blue_box_md_lighter</item>
<item name="android:contentDescription">@string/temp</item>
<item name="android:gravity">center</item>
<item name="android:scaleType">fitCenter</item>
<item name="android:textStyle">bold</item>
<item name="android:typeface">serif</item>
<item name="android:visibility">visible</item>
</style>
我在我的xml(部分)中使用这种风格:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/game7_336letters"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/woodbackground1lighter_a_rotated"
android:orientation="vertical" >
<TextView style="@style/MoveLetter" android:id="@+id/game7_moveletter1"
android:layout_marginLeft="180dp" android:layout_marginTop="30dp" android:textIsSelectable="true" />
<TextView style="@style/MoveLetter" android:id="@+id/game7_moveletter2"
android:layout_marginLeft="240dp" android:layout_marginTop="30dp" android:textIsSelectable="true" />
<TextView style="@style/MoveLetter" android:id="@+id/game7_moveletter3"
android:layout_marginLeft="300dp" android:layout_marginTop="30dp" android:textIsSelectable="true" />
<TextView style="@style/MoveLetter" android:id="@+id/game7_moveletter4"
android:layout_marginLeft="180dp" android:layout_marginTop="175dp" android:textIsSelectable="true" />
<TextView style="@style/MoveLetter" android:id="@+id/game7_moveletter5"
android:layout_marginLeft="240dp" android:layout_marginTop="175dp" android:textIsSelectable="true" />
<TextView style="@style/MoveLetter" android:id="@+id/game7_moveletter6"
android:layout_marginLeft="300dp" android:layout_marginTop="175dp" android:textIsSelectable="true" />
我尝试了很多选项添加到style - PaddingBottom,PaddingTop, layout_gravity = center, gravity = layout_horizontal, gravity = layout_vertical : all
没有帮助。
就右/左对齐而言 - 它的好处,字母位于textview的中心。
我很感激您提供的任何帮助..
答案 0 :(得分:0)
尝试指定textSize
,并使其小于BoxSize尺寸。不同的字母具有不同的尺寸,因此在不同的密度设备上使用它会很棘手。
答案 1 :(得分:0)
让其他人有这个问题:我找到了解决问题的方法: 如果你在代码行为上设置填充,问题就解决了(对我来说至少......)
TextView tv = findViewById(...);
tv.setPadding( 0, -25,0,0);