更改语言时,我的自定义按钮会切断部分文本

时间:2011-09-11 22:06:32

标签: android android-layout android-custom-view android-button

我已经制作了自己的自定义按钮样式,并且在我的手机上使用某些语言非常出色。

我为DK和UK制作了strings.xml。然而,当我在手机上选择france作为语言时,我的按钮会在底部被切断。

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

有什么想法吗?我试过HTC Hero,HTC Desire和GarminAsus A10,都是这样。

Text getting cut off in the bottom...

编辑布局:

<?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>

自定义按钮的背景:

Normal button

我猜我的九个补丁有可能被错误地创建了,但是当我在手机上选择丹麦语或英语时看起来是对的。

1 个答案:

答案 0 :(得分:1)

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

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

所以答案是删除styles.xml文件中的高度,并将高度设置为wrap_content。

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

对于盲目关注互联网的教程非常重要:P