Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android标题覆盖';s操作栏内容_Java_Android_Textview - Fatal编程技术网

Java Android标题覆盖';s操作栏内容

Java Android标题覆盖';s操作栏内容,java,android,textview,Java,Android,Textview,我有一个使用本地化的应用程序,在一些语言中,标题是为了显示屏幕的大小。我想缩放标题,如果它不适合正确的空间,它有一个较小的字体大小。我使用自定义xml文件作为标题栏,但无法根据字体大小是否合适来确定如何缩放字体大小。看看这一点,似乎我需要一个相当小的功能很多的代码,谁能帮我解决这个问题,请!我的自定义标题: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.a

我有一个使用本地化的应用程序,在一些语言中,标题是为了显示屏幕的大小。我想缩放标题,如果它不适合正确的空间,它有一个较小的字体大小。我使用自定义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等较新的手机上,菜单位于右上角,根据我的阅读,我找不到这个按钮的宽度,所以我有点执着于如何在自定义标题栏中查找所有内容的宽度

您可以根据设备屏幕和文本长度调整textview文本大小[注意:如果文本太长,则几乎不可读。请使用长度限制并在其后显示…。],没关系,方法是这样的

计算设备显示大小并找出比例因子,然后应用以下代码调整textview文本大小

float size = textview.getTextSize();
                float factor = scalefactor;
                float product = size*factor;
                textview.setTextSize(TypedValue.COMPLEX_UNIT_PX, product);
                size = textview.getTextSize();

希望能帮到你。

这看起来很完美!但是,我如何找到比例因子呢?
DisplayMetrics=newdisplaymetrics();activity.getWindowManager().getDefaultDisplay().getMetrics(度量);float scaleFactor=metrics.density
.brill,我现在将实现它,并让您知道它是如何运行的,非常感谢您的时间嗨,因此这使我的文本非常庞大,我看不到任何lol。我刚刚发现,我可以向每个值文件夹添加一个dimens xml文件,这将允许我根据本地化情况指定字体大小,因此我已准备好使用它。为什么你认为它没有正确地缩放我的文本?是的,但是你必须用文本长度除以整个乘积[float product=size*factor;],或者必须应用一些数学来获得正确的大小。