Android标题叠加的动作栏内容

时间:2014-04-22 10:39:17

标签: java android textview

我有一个使用本地化的应用程序,在某些语言中,标题是长的屏幕大小。我想缩放标题,如果它没有正确地适应它有一个较小的字体大小的空间。我使用自定义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有点坚持如何在自定义标题栏中查找所有内容的宽度!

1 个答案:

答案 0 :(得分:0)

您可以根据设备屏幕和文本长度缩放文本视图文本大小[注意:如果文本太长,则几乎无法读取。使用长度限制并显示......之后。],没关系,方式是。

计算您的设备显示大小并找出比例因子,而不是应用以下代码来调整textview文本大小。

float size = textview.getTextSize();
                float factor = scalefactor;
                float product = size*factor;
                textview.setTextSize(TypedValue.COMPLEX_UNIT_PX, product);
                size = textview.getTextSize();
希望能帮到你。