如何添加和;删除纵向模式和横向模式之间的布局元素?

时间:2011-07-11 13:30:17

标签: android android-layout android-emulator android-widget

我有一个简单的布局,显示文字和图像:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
>    
    <LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
    >

        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="TEST"
            android:textColor="#0099cc"
        />

        <ImageView   
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:tint="#55ff0000"
            android:src="@drawable/my_image"/>
    </LinearLayout>    


</LinearLayout>

我希望仅在设备处于纵向模式时才会显示图像。

我的意思是如果设备处于横向模式,我想不仅只是隐藏图像,但从布局中完全删除图像。怎么做?

2 个答案:

答案 0 :(得分:4)

Android通过允许您在不同环境中使用的单独布局文件夹中包含多个布局文件来实现此目的。

您应该将此xml文件移动到目录结构中的新res/layout-port文件夹,并在res/layout-land中创建一个缺少ImageView的副本。 Android将根据设备的方向选择适当的XML文件。

有更多信息here

答案 1 :(得分:2)

您可以指定两种布局:一种纵向纵向模式,放置在布局端口文件夹中,另一种用于横向模式,放置在layout-land文件夹中。希望这会有所帮助。