我有一个使用本地化的应用程序,在某些语言中,标题是长的屏幕大小。我想缩放标题,如果它没有正确地适应它有一个较小的字体大小的空间。我使用自定义xml文件作为标题栏,但无法弄清楚如何缩放字体大小取决于它是否适合。看看这个,似乎我需要很多代码才能获得相当小的功能,任何人都可以帮我解决这个问题!我的自定义标题:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_gradient"
android:orientation="vertical"
android:tag="title" >
<TextView
android:id="@+id/title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:paddingBottom="3dp"
android:text="@string/Hearing_Test"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/solid_white"
android:textStyle="bold" />
<ImageButton
android:id="@+id/info_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="#0000"
android:padding="10dp"
android:onClick="infoView"
android:src="@drawable/info"
android:visibility="gone" >
</ImageButton>
</RelativeLayout>
我遇到的问题是文本位于图像按钮后面,但也会进入两行,因此用户只能看到第二行的一半。如果有人能给我一个例子,给我一个可以提供帮助的地方的链接,那就太棒了。感谢
修改
只是为了补充一下,在nexus 5这样的新手机上,菜单位于右上角,从我读过的内容来看,我找不到这个按钮的宽度,所以我&#39; ma有点坚持如何在自定义标题栏中查找所有内容的宽度!
答案 0 :(得分:0)
您可以根据设备屏幕和文本长度缩放文本视图文本大小[注意:如果文本太长,则几乎无法读取。使用长度限制并显示......之后。],没关系,方式是。
计算您的设备显示大小并找出比例因子,而不是应用以下代码来调整textview文本大小。
float size = textview.getTextSize();
float factor = scalefactor;
float product = size*factor;
textview.setTextSize(TypedValue.COMPLEX_UNIT_PX, product);
size = textview.getTextSize();
希望能帮到你。