我的应用在纵向模式下有三个视图,一个TextSwitcher,一个自定义视图和一个自定义键盘。 在横向模式中,我需要删除TextSwitcher并在右侧添加ListView。 我是android的新手,我可以定义两个布局,即xxx和xxx-land,我的问题是如何实现两个代码分支,一个用于控制景观,一个用于肖像。
答案 0 :(得分:3)
根据当前方向设置标志
getResources().getConfiguration().orientation
在访问textswitcher或listview之前检查标志...并根据标志采取行动,例如在纵向模式下对Textswitcher进行更改,但在横向上不要因为它将为null ...
答案 1 :(得分:1)
定义代码中两个资源文件中出现的所有视图
在onCreate()
的{{1}}中,您可以检查方向以将视图绑定到类对象。
例如
这里我们有2个布局文件,在两个文件和纵向文件中都包含一个ImageView,有一个Activity
,在横向上它包含TextView
而不是Button
< / p>
layout-land 中的
my_layout.xml
TextView
layout-port 文件夹中的my_layout.xml
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abs__ab_bottom_solid_dark_holo" />
</LinearLayout>
这是活动代码
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abs__ab_bottom_solid_dark_holo" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
询问任何你不理解的事情。