Quando si cambiano il linguaggio i miei pulsanti personalizzati tagliano un po 'di testo
-
29-10-2019 - |
Domanda
Ho realizzato i miei stili di pulsanti personalizzati e funzionano splendidi con alcune lingue sui miei telefoni.
Ho fatto strings.xml per DK e UK. Tuttavia, quando ho scelto, ad esempio la Francia come lingua sul mio telefono, i miei pulsanti vengono tagliati in fondo.
Non riesco a capire perché lo faccia.
Qualche idea? Ho provato un eroe HTC, HTC Desire e un Garminasus A10, tutti fanno lo stesso.
Modifica layout:
<?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>
Sfondo per il pulsante personalizzato:
Immagino che ci sia la possibilità che il mio novepatch sia creato erroneamente, ma sembra giusto quando si sceglie una lingua danese o inglese sui miei telefoni.
Soluzione
Ok, quindi l'ho risolto da solo.
Dopo aver attraversato il mio file Styles.xml ho scoperto di aver fissato l'altezza dei pulsanti di 25Dip. Questo sembrava giusto quando i miei telefoni usavano una lingua danese o inglese, ma quando lo cambiava in qualsiasi altra lingua il testo del pulsante era tagliato, come mostrato nella foto nel mio post precedente.
Quindi la risposta è rimuovere l'altezza all'interno del file Styles.xml e impostare l'altezza su Wrap_Content.
Non so se questo è un bug nell'API Android, ma lo segnalerò e vedrò cosa succede. È davvero strano che non accada per quelle due lingue ma per ogni altra lingua - ho anche provato ad aggiungere una cartella di valori per un'altra lingua e ho aggiunto gli stessi file dalla cartella valori predefiniti che è stata utilizzata, ma non ha aiutato .
Così tanto per i seguenti tutorial ciecamente sugli interwebs: P