我有一个简单的布局,显示文字和图像:
<?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>
我希望仅在设备处于纵向模式时才会显示图像。
我的意思是如果设备处于横向模式,我想不仅只是隐藏图像,但从布局中完全删除图像。怎么做?
答案 0 :(得分:4)
Android通过允许您在不同环境中使用的单独布局文件夹中包含多个布局文件来实现此目的。
您应该将此xml文件移动到目录结构中的新res/layout-port
文件夹,并在res/layout-land
中创建一个缺少ImageView
的副本。 Android将根据设备的方向选择适当的XML文件。
有更多信息here。
答案 1 :(得分:2)
您可以指定两种布局:一种纵向纵向模式,放置在布局端口文件夹中,另一种用于横向模式,放置在layout-land文件夹中。希望这会有所帮助。