2017-12-27 3 views
0

In diesem Code unten von einer Android-Anwendung auf Android Studio, habe ich ein LinearLayout, das eine TextView enthält, deren Größe ich ändern möchte, zum Beispiel von 100 bis 20. Aber die Sache ist, wann immer ich mich ändere die android: textSize = "100.0dip" zu einer anderen Nummer, die Größe bleibt immer noch die gleiche in der Anwendung bei der Ausführung auf meinem Handy.Ändern Sie textSize in einem TextView

Code:

<ScrollView 
    android:id="@id/qp_body_wrapper" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_above="@id/widget34" 
    android:layout_below="@id/widget99" 
    android:layout_marginBottom="5.0dip" 
    android:layout_marginTop="10.0dip" 
    android:clickable="true" 
    android:focusable="true" 
    android:foregroundGravity="right"> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@id/qp_body_wrapper_container" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:clickable="true" 
     android:focusable="true" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@id/qp_body" 
      style="@style/QuoteViewText" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/dashboard_qod_bg" 
      android:clickable="true" 
      android:focusable="true" 
      android:gravity="right" 
      android:padding="10.0dip" 
      android:textAlignment="viewEnd" 
      android:textColor="#FFFFFF" 
      android:textSize="100.0dip" 
      tools:ignore="RtlCompat,RtlHardcoded" /> 
    </LinearLayout> 
</ScrollView> 

und hier ist der QuoteViewText Stil:

<style name="QuoteViewText"> 
     <item name="android:textSize">100.0dip</item> 
     <item name="android:typeface">serif</item> 
     <item name="android:textStyle">bold</item> 
     <item name="android:textColor">#fffcfcfc</item> 
     <item name="android:shadowColor">#ff102e46</item> 
     <item name="android:shadowDx">0.0</item> 
     <item name="android:shadowDy">1.0</item> 
     <item name="android:shadowRadius">2.0</item> 
    </style> 
+0

ist von der gleichen Größe der Container des Textes? – appersiano

+0

Ich bin neu in Android und Java, aber ich habe den Code hier bearbeitet, ich kopierte die ganze scrollView, die Ihre Frage beantwortet? – eliadesign

+0

Versuchen Sie, sp oder nur dp statt dip zu verwenden – jhonatan2760

Antwort

0

Sie setzen Textview Größe 2 mal eine von Stil Anwendung und eine andere von Textgröße für die Textview Anwendung. Benutze irgendeinen. Und für Texte verwenden Sie sp statt dp, um Benutzereinstellungen zu berücksichtigen.

+0

Ich tat das, aber nichts änderte :(danke trotzdem – eliadesign

0

Textgröße wird in sp - Scale-unabhängige Pixel gemessen.

in Ihrem Fall Also, sollten Sie

<item name="android:textSize">100sp</item> 

statt

<item name="android:textSize">100.0dip</item> 

auch verwenden, vergessen Sie nicht, dass Stil von Eigenschaften aus Ihrem Layout, in diesem Fall ist, sollten Sie overrided android:textSize entfernen von Ihrem TextView und lassen Sie es nur in Stilen. Auch sollte man von einer Textgröße von 10 ausgehen, 100 ist zu groß und wird nie benutzt.

+0

Ich habe alles getan, was Sie hier gesagt haben, aber nichts hat sich geändert !! – eliadesign

0

Sie verwenden Dip, stattdessen sollten Sie sp für textsize.

können Sie Ihre Code-Dateien mit diesen unter Dateien aktualisieren, es wird Ihr Problem

<ScrollView 
    android:id="@id/qp_body_wrapper" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_above="@id/widget34" 
    android:layout_below="@id/widget99" 
    android:layout_marginBottom="5.0dip" 
    android:layout_marginTop="10dp" 
    android:clickable="true" 
    android:focusable="true" 
    android:foregroundGravity="right"> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@id/qp_body_wrapper_container" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:clickable="true" 
     android:focusable="true" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@id/qp_body" 
      style="@style/QuoteViewText" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/dashboard_qod_bg" 
      android:clickable="true" 
      android:focusable="true" 
      android:gravity="right" 
      android:padding="10dpp" 
      android:textAlignment="viewEnd" 
      android:textColor="#FFFFFF" 
      tools:ignore="RtlCompat,RtlHardcoded" /> 
    </LinearLayout> 
</ScrollView> 

lösen und hier ist der QuoteViewText Stil:

<style name="QuoteViewText"> 
      <item name="android:textSize">100sp</item> 
      <item name="android:typeface">serif</item> 
      <item name="android:textStyle">bold</item> 
      <item name="android:textColor">#fffcfcfc</item> 
      <item name="android:shadowColor">#ff102e46</item> 
      <item name="android:shadowDx">0.0</item> 
      <item name="android:shadowDy">1.0</item> 
      <item name="android:shadowRadius">2.0</item> 
     </style> 
0

Tipp: Verwenden Sie dimens.xml speichern Sie Ihre konkrete Werte für eine einfachere und sauberere Codeverwaltung.

Neben dem Wechsel von dip zu sp und der überflüssigen Doppel Einstellung von textSize, gibt es kein Problem mit Ihrem TextView Code und es sollte funktionieren. Es gibt einige andere kleine Probleme als möglicherweise @+id/qp_body statt und mit anstelle der veralteten fill_parent, aber immer noch sollte es funktionieren.

Dies ist im Dunkeln zu schießen, aber überprüfen Sie, ob Sie nicht irgendwie den Wert programmatisch im Code überschreiben.Wenn nicht, können Sie immer versuchen und sehen, was passiert:

TextView mTextView = (TextView) findViewById(R.id.qp_body); 
mTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20f); 

oder mit einer Dimension Ressource:

TextView mTextView = (TextView) findViewById(R.id.qp_body); 
mTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, getResources().getDimension(R.dimen.my_text_size)); 
0

Sie verwenden dip in Textgröße, statt dass nur dp verwenden oder sp .dp und sp beide funktionieren, aber normalerweise in textview, verwenden wir sp.

Verwandte Themen