【问题标题】:how to add & remove layout element between portarit mode and landscape mode?如何在纵向模式和横向模式之间添加和删除布局元素?
【发布时间】:2011-07-11 13:30:16
【问题描述】:

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

<?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>

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

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

【问题讨论】:

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


    【解决方案1】:

    Android 允许您在不同的布局文件夹中拥有多个布局文件,这些文件用于不同的环境。

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

    还有更多信息here

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • @Egor ,我什至忘记了这个功能。谢谢你的提醒。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多