2015-06-22 2 views
0

Код - это простой XML-файл, содержащий линейный макет. Внутри линейного макета у меня есть два текстовых вида и один линейный макет, содержащий кнопку. Я хочу установить размер шрифта, равный высоте текстового вида. Мы получаем высоту с использованием метода веса и веса.Как установить размер шрифта в текстовом виде, равном его высоте

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/orange" 
    android:weightSum="100" 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="45" 
     android:text="Coming Soon" 
     android:gravity="center_vertical" 
     android:background="@color/mainscreen" /> 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="10" 
     android:text="TextView" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     android:layout_weight="45" 
     android:background="@color/mainscreen"> 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button" /> 

    </LinearLayout> 



</LinearLayout> 

ответ

0

Вы можете достичь этого программно.

TextView defaultTextView = new TextView(context); 
float sourceTextSize = defaultTextView.getTextSize(); 
TextView.setTextSize(sourceTextSize/getResources().getDisplayMetrics().density); 

defaultTextView.getTextSize() возвращает размер в пикселях и setTextSize (размер) принимает входные данные как зр, так ваш текст становится больше.

Здесь, вместо прямой настройки размера текста, сначала мы преобразуем их в соответствии с плотностью.

-1
We can not set text size like wrap_content,fill_parent or match_parent 
as like textview height so, if you need to set text size equals to 
Textview height than you need to go for fix textview height and text 
size like.... 
    <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="50dp" 
      android:text="@string/hello_world" 
      android:textSize="50dp"/> 
0

Нарисуйте форму, пригодную для текста.

<solid android:color="@color/your_background_coler"/> 

и поместить его в TextView фоне атрибута.