堆放在彼此的顶部我必须把我的单位转换器应用到片段,并有工作。所有东西都编译好了,所以我可以在虚拟机中运行它。唯一的问题是,所有的XML视觉效果都堆叠在一起。我将提供代码和虚拟机中的外观图片。请帮我解决我的问题,以免它们堆叠在一起。片段Android Studio中在虚拟机
content_unit_converter.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.plamen.unitconverter.UnitConverterActivity"
tools:showIn="@layout/activity_unit_converter">
<fragment
android:id="@+id/unitconverterfragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:name="com.plamen.unitconverter.UnitConverterFragment"/>
<fragment
android:id="@+id/unitcoverterdisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:name="com.plamen.unitconverter.UnitConverterDisplay"/>
</RelativeLayout>
fragment_unit_converter.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.plamen.unitconverter.UnitConverterActivity"
tools:showIn="@layout/activity_unit_converter">
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/TemperatureEditText"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/radioGroup">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="From Celsius to Farenheit"
android:id="@+id/toFarenheitRadioButton"
android:checked="true" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="From Farenheit to Celsius"
android:id="@+id/toCelsiusRadioButton"
android:checked="false" />
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Convert"
android:id="@+id/convertButton"
android:layout_below="@+id/radioGroup"
android:layout_centerHorizontal="true"/>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner1"
android:spinnerMode="dropdown"
android:layout_below="@+id/LengthEditText"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="false"
android:layout_alignRight="@+id/LengthEditText"
android:layout_alignEnd="@+id/LengthEditText"
android:entries ="@array/length"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CONVERT"
android:id="@+id/convertLength"
android:layout_below="@+id/spinner1"
android:layout_centerHorizontal="true"/>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner2"
android:layout_below="@+id/AreaEditText"
android:layout_centerHorizontal="true"
android:entries ="@array/area"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Convert"
android:id="@+id/convertArea"
android:layout_below="@+id/spinner2"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
fragment_unit_converter_display.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.plamen.unitconverter.UnitConverterActivity"
tools:showIn="@layout/activity_unit_converter">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/TemperatureEditText"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:hint="Enter Temperature" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/LengthEditText"
android:hint="Enter Length"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/AreaEditText"
android:layout_below="@+id/convertLength"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:hint="Enter Area" />
</RelativeLayout>
这是个什么样子,当我在虚拟机上运行它像
这是什么样子后,我试过的android:layout_below 它还将被复制,我不知道为什么。
那么,在'content_unit_converter.xml'定义你的两个片段是在一个'RelativeLayout',因此他们简单地放置在彼此的顶部 - 就像它会与任何看法。您可能只想显示一个,因此在需要时使用片段事务来隐藏或显示相关片段。或者,可能更好,动态实例化第二个片段,并使用事务添加/替换它。或者,如果两者应该同时可见,只需添加规则将一个位置放在另一个之下(尽管在这种情况下'LinearLayout'可能更合适)。 –
您希望布局看起来如何?你能提供一个样机图纸吗? –