<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context="org.innoversetech.hobuddies.MainActivity"
android:background="#FF7506"
android:id="@+id/linMatcher">
<ScrollView
android:id="@+id/scroll"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lin1">
<!-- Psychometric Questions-->
<TextView
android:layout_width="wrap_content"
android:layout_height="37dp"
android:id="@+id/Surgency1"
android:textSize="20sp"
android:text="I am the life of the party"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/Surgency1"
android:orientation="vertical">
<!--Radio Buttons-->
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Strongly Disagree"
android:id="@+id/SD"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Disagree"
android:id="@+id/D"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Not really"
android:id="@+id/NR"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Agree"
android:id="@+id/A"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Strongly Agree"
android:id="@+id/SA"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>
我想要的是用类似的单选按钮创建15个问题。有没有办法让我创建一个单选按钮布局,然后调用它?我不必一次又一次地复制粘贴单选按钮。另外,我如何定义每个ID?
答案 0 :(得分:0)
您可以使用<include>
代码轻松完成此操作,并将布局添加到属性layout
。
试试这个:
<include
layout="@layout/your_layout">
</include>
例如:
这是您的radio_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/Surgency1"
android:orientation="vertical">
<!--Radio Buttons-->
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Strongly Disagree"
android:id="@+id/SD"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Disagree"
android:id="@+id/D"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Not really"
android:id="@+id/NR"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Agree"
android:id="@+id/A"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Strongly Agree"
android:id="@+id/SA"/>
</LinearLayout>
这是您的acivity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context="org.innoversetech.hobuddies.MainActivity"
android:background="#FF7506"
android:id="@+id/linMatcher">
<ScrollView
android:id="@+id/scroll"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lin1">
<!-- Psychometric Questions-->
<TextView
android:layout_width="wrap_content"
android:layout_height="37dp"
android:id="@+id/Surgency1"
android:textSize="20sp"
android:text="I am the life of the party"/>
<include
layout="@layout/radio_layout">
</include>
</LinearLayout>
</ScrollView>
</RelativeLayout>
希望这会有所帮助〜
答案 1 :(得分:0)
您可以使用 <include />
标记
如果在目标布局中应多次使用include布局:
使用 <merge />
标记以root身份创建布局 radio_btns.xml
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Strongly Disagree"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Disagree"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Not really"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Agree"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Strongly Agree"/>
</merge>
在主要版面中添加 ViewLayout 项目,例如 LinearLayout , RelativeLayout 或任何 ViewGroup :
....
<LinearLayout
android:id="@+id/first"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
<LinearLayout
android:id="@+id/second"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
.....
活动
中 setContentView 之后 LayoutInflater inflater = LayoutInflater.from(this);
ViewGroup first = (ViewGroup) findViewById(R.id.first);
ViewGroup second = (ViewGroup) findViewById(R.id.second);
inflater.inflate(R.layout.radio_btns.xml, first, true);
inflater.inflate(R.layout.radio_btns.xml, second, true);
//Get any item to from viewGroup as child
RadioButton firstInFirstGroup = (RadioButton) first.getChildAt(0);
RadioButton secondInSecondGroup = (RadioButton) second.getChildAt(1);
如果要多次将其包含在xml布局中,请不要在xml布局中使用 id 。请注意, ViewGroup 中的第一项索引为0