0

我制作了自己的自定义按钮样式,它们在我的手机上与某些语言配合得非常好。

我为 DK 和英国制作了 strings.xml。但是,当我选择例如法国作为手机上的语言时,我的按钮在底部被切断了。

似乎无法弄清楚为什么会这样。

有任何想法吗?我试过 HTC Hero、HTC Desire 和 GarminAsus A10,都一样。

文字在底部被截断...

编辑布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:background="@drawable/bg"
    android:padding="0dip">
    <LinearLayout android:id="@+id/linearLayout1"
        android:orientation="vertical" android:gravity="center"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:layout_marginLeft="40dip" android:layout_marginRight="40dip">
        <TextView android:layout_height="wrap_content"
            android:layout_width="fill_parent" android:id="@+id/hintUsername"
            android:text="@string/hintUsernameText" style="@style/CodeFont"></TextView>
        <EditText android:id="@+id/unameEditText"
            android:layout_height="wrap_content" android:layout_width="fill_parent"
            android:inputType="textPersonName" android:hint="@string/usernameHint">
            <requestFocus></requestFocus>
        </EditText>
        <TextView android:layout_height="wrap_content" android:id="@+id/textView1"
            android:layout_width="fill_parent" android:text="@string/hintPasswordText"
            style="@style/CodeFont"></TextView>
        <EditText android:id="@+id/pwEditText" android:layout_height="wrap_content"
            android:layout_width="fill_parent" android:inputType="textPassword"
            android:hint="@string/pwHint"></EditText>
        <CheckBox android:layout_height="wrap_content" android:id="@+id/rememberLoginCheckbox"
            android:text="@string/rememberLoginCheckbox" android:layout_width="fill_parent"
            android:gravity="center" style="@style/CodeFont"></CheckBox>
        <Button android:id="@+id/loginButton" android:text="@string/logonButton"
            android:layout_height="wrap_content" android:layout_width="fill_parent"
            android:background="@drawable/btn_custom" android:textSize="18dp"></Button>
        <TextView android:id="@+id/errorTextView" android:text=""
            android:layout_height="wrap_content" android:layout_width="fill_parent"
            android:textColor="#FF0000"></TextView>
    </LinearLayout>
</LinearLayout>

自定义按钮的背景:

普通按钮

我想我的 Ninepatch 有可能是错误创建的,但在我的手机上选择丹麦语或英语时它看起来是正确的。

4

1 回答 1

1

好的,所以我自己解决了这个问题。

在浏览完我的styles.xml 文件后,我发现我已经将按钮的高度固定为25dip。当我的手机使用丹麦语或英语时,这看起来不错,但是当将其更改为任何其他语言时,按钮文本被切断,如我之前帖子中的图片所示。

所以答案是去掉styles.xml文件里面的高度,把高度设置为wrap_content。

我不知道这是否是 Android api 中的错误,但我会报告它,看看会发生什么。真的很奇怪,这两种语言并没有发生这种情况,而是其他所有语言 - 我什至尝试为另一种语言添加一个值文件夹,并从使用的默认值文件夹中添加相同的文件,但它没有帮助.

这么多在互联网上盲目地学习教程:P

于 2011-09-18T17:02:14.710 回答