适合不同屏幕尺寸的文字

时间:2016-07-16 05:46:32

标签: java android html

this is the picture with same text size on 5inch screen

this is the picture with same textsize on 4inch screen

我希望文本视图中的文字适合不同的屏幕尺寸,具体取决于它们的字体。我使用了html作为文本。

这是我的strings.xml

<string name="seven">
<![CDATA[
<h1>श्रीज्ञानदेवाची आरती</h1>

<body>आरती ज्ञानराजा॥<br>
महाकैवल्यतेजा॥<br>
सेविती साधुसंत ॥<br>
मनु वेधला माझा ॥ ध्रु० ॥<br>
लोपलें ज्ञान जगीं ॥<br>
हित नेणती कोणी ॥<br>   
अवतार पांडुरंग ॥<br>
नाम ठेविलें ज्ञानी ॥ आरती ॥ १ ॥<br>
कनकांचे ताट करीं ॥<br>
उभ्या गोपिका नारी ॥<br>
नारद तुंबरु ही ॥<br>
साम गायन करी ॥ आरती० ॥ २ ॥<br>
प्रगट गुह्य बोले ॥<br>
विश्व ब्रह्मची केलें ॥<br>
रामा जनार्दनीं ॥<br>
चरणी मस्तक ठेविले ॥ आरती० ॥ ३ ॥<br>
<br>
<br>
<br></body>]]>

activity.xml

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView15"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />

activity.java

tv15=(TextView)findViewById(R.id.textView15);
tv15.setTextSize((float)23.5);
tv15.setText(Html.fromHtml(getString(R.string.seven)));

2 个答案:

答案 0 :(得分:0)

以下方式可能会对您有所帮助。

dimens.xml

中定义一些尺寸
<dimen name="textSize">15sp</dimen>

然后在Java中,setTextSize喜欢,

int txtsize = getResources().getDimensionPixelSize(R.textSize);
tv15.setTextSize(txtsize);

这将为所有设备提供相同的尺寸。

答案 1 :(得分:0)

您已在此处设置修复像素大小

<强> tv15.setTextSize((浮点)23.5);

所有屏幕的大小都相同。

解决方法1。在xml

中的dp中获取文本大小

<强>机器人:TEXTSIZE = “18dp”

溶液2。为不同的屏幕尺寸选择不同的尺寸文件。

value-mdpi/dimen.xml
<dimen name="hindi_text_size">15dp</dimen>

value-hdpi/dimen.xml
<dimen name="hindi_text_size">18dp</dimen>
xml中的

现在使用此参数

<强>机器人:TEXTSIZE = “@扪/ hindi_text_size”