我有一个radioradio,我想在方向改变时修改文本
如果方向是风景我想在按钮中画画 如果方向是肖像我想有可绘制和描述
我有2个xml(布局中的main_activty和layout_land中的main_activity) 这是代码布局/ main_activity.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:text="Portrait"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Btn Portrait"/>
<RadioGroup
android:id="@+id/btnControl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginBottom="10dp">
<RadioButton android:id="@+id/zoom"
android:checked="true"
android:button="@null"
android:drawableLeft="@android:drawable/btn_plus"
android:drawablePadding="10dp"
android:paddingLeft="10dip"
android:gravity="center_vertical"
android:text="Zoom +"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<RadioButton android:id="@+id/dim"
android:button="@null"
android:drawableLeft="@android:drawable/btn_minus"
android:drawablePadding="10dp"
android:paddingLeft="10dip"
android:gravity="center_vertical"
android:text="Zoom -"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RadioGroup>
</LinearLayout>
和layout-land / activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:text="Portrait"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Btn Portrait"/>
<RadioGroup
android:id="@+id/btnControl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginBottom="10dp">
<RadioButton android:id="@+id/zoom"
android:checked="true"
android:button="@null"
android:drawableLeft="@android:drawable/btn_plus"
android:drawablePadding="10dp"
android:paddingLeft="10dip"
android:gravity="center_vertical"
android:text="Zoom +"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<RadioButton android:id="@+id/dim"
android:button="@null"
android:drawableLeft="@android:drawable/btn_minus"
android:drawablePadding="10dp"
android:paddingLeft="10dip"
android:gravity="center_vertical"
android:text="Zoom -"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RadioGroup>
</LinearLayout>
这个2 xml之间的区别是属性文本
以纵向模式运行应用程序时的结果
以横向模式运行应用时的结果
当我改变方向时,radiobutton没有发生任何事情,而另一个视图改变了
我想在没有代码java的情况下这样做,是否可能?
提前谢谢
答案 0 :(得分:0)
默认情况下,res/layout
文件夹中的所有布局都应用于纵向和横向版本。
您需要做的是对于您希望拥有横向替代方案的任何布局,您需要复制它并将其放在横向文件夹中,如下所示:
如果您有例如:
res/layout/main.xml
然后,您需要在名为res
的{{1}}下添加另一个文件夹,该文件夹将充当您所有layout-land
的横向版本。然后,您需要将main.xml的横向版本移动到新文件夹中。
你应该得到两个版本的文件,portrait-res / layout / main.xml:
Activities
and landscape - res / layout-land / main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
<RadioGroup
android:id="@+id/btnControl"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton android:id="@+id/shutdown"
style="@style/radioButton"
android:text=""
android:checked="true"
android:drawableLeft="@drawable/btn_shutdown"
android:gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RadioGroup>
</LinearLayout>
启动应用并同时实现这两个布局文件及其文件夹后,只要<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
<RadioGroup
android:id="@+id/btnControl"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton android:id="@+id/shutdown"
style="@style/radioButton"
android:text="Description button"
android:checked="true"
android:drawableLeft="@drawable/btn_shutdown"
android:drawablePadding="10dp"
android:gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RadioGroup>
</LinearLayout>
翻转到横向,布局就会切换到Activity
中的布局。希望这会有所帮助,让您更好地了解如何实现景观布局。