在横向方向启动时,TextView行界定不匹配的值

时间:2013-08-28 14:29:53

标签: android android-layout screen-orientation

在方向更改后,我的textview存在一个令人困惑的问题:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent">

<TextView
        android:text="Simple"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:background="@drawable/my_color_drawable"
        android:id="@+id/text1"
        android:layout_gravity="center"/><\FrameLayout>

当我以横向模式启动应用时,方法getLineBounds(1,tmpRect) 结果:

  • tmpRect.top = 69

然后我将手机方向更改为肖像,结果为:

  • tmpRect.top = 76

Hovewer改回景观后,结果设为74(优先级为69),两种结果从现在开始都没有变化。

在纵向模式下启动应用程序时,结果为76和74。

我真的很好奇为什么在景观开始​​的时候发生这些数字是不同的,我会感激任何帮助。

信息:我的活动设置了android:screenOrientation="sensor"

编辑:似乎只有在使用android&gt;时才会出现问题4。

感谢。

1 个答案:

答案 0 :(得分:0)

使用横向和纵向时需要两个布局,否则值会发生变化。它根据您创建布局的方向设置为默认值。 如果您只需要在一种设置为

的模式下工作
android:screenOrientation="portrait"

android:screenOrientation="landscape"