我无法将这些3个按钮和1个编辑文本放在相对布局中。 基本上,我是列表视图在顶部,然后是列表视图下的相对视图。此相对视图将包含第一行中的编辑文本和第二行中的3个按钮。
一切正常但是,当我在相对布局中放置1个edittext和3个按钮时,我得到错误 java.lang.IllegalStateException:RelativeLayout
中不存在循环依赖关系有人可以帮忙,真的很感谢你的时间。 感谢
<?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:id="@+id/activity_main"
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"
tools:context="app.com.date.MainActivity"
android:background="@color/common_google_signin_btn_text_light_disabled">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_above="@+id/messageBox"
android:id="@+id/chatroom"
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
android:dividerHeight="0dp"
android:divider="@null"
android:layout_alignParentBottom="false"
android:layout_alignWithParentIfMissing="false" />
<EditText
android:layout_width="match_parent"
android:inputType="text"
android:ems="10"
android:id="@+id/messageBox"
android:textAppearance="@style/TextAppearance.AppCompat"
android:freezesText="true"
android:textSize="12sp"
android:fontFamily="sans-serif"
android:layout_alignParentBottom="false"
android:layout_above="@+id/sendButton"
android:breakStrategy="high_quality"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:paddingBottom="15dip"
android:paddingTop="10dip"
android:hint="send message" />
<Button
android:id="@+id/galleryButton"
android:layout_below="@+id/messageBox"
android:layout_alignParentStart="false"
android:layout_alignParentBottom="false"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:layout_centerHorizontal="false"
android:layout_alignParentLeft="true" />
<Button
android:id="@+id/cameraButton"
android:layout_below="@+id/messageBox"
android:layout_alignParentBottom="false"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:layout_centerHorizontal="false"
android:layout_marginLeft="10dip"
android:layout_toRightOf="@+id/galleryButton" />
<Button
android:layout_height="wrap_content"
android:id="@+id/sendButton"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="15dip"
android:layout_width="75dip" />
</RelativeLayout>
答案 0 :(得分:0)
你可以试试这段代码希望这可以帮到你..
<?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:id="@+id/activity_main"
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"
tools:context=".MainActivity">
<ListView
android:id="@+id/chatroom"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/ll"
android:layout_alignParentBottom="false"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignWithParentIfMissing="false"
android:divider="@null"
android:dividerHeight="0dp"
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll" />
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical">
<EditText
android:id="@+id/messageBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="false"
android:background="@android:color/transparent"
android:breakStrategy="high_quality"
android:ems="10"
android:fontFamily="sans-serif"
android:freezesText="true"
android:hint="send message"
android:inputType="text"
android:paddingBottom="15dip"
android:paddingTop="10dip"
android:textAppearance="@style/TextAppearance.AppCompat"
android:textSize="12sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/galleryButton"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:id="@+id/cameraButton"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/galleryButton" />
<Button
android:id="@+id/sendButton"
android:layout_width="75dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
答案 1 :(得分:0)
只需稍加修改即可尝试使用相同的代码。它对我来说很好。
<?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:id="@+id/activity_main"
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"
tools:context="app.com.date.MainActivity"
android:background="@color/common_google_signin_btn_text_light_disabled">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_above="@+id/messageBox"
android:id="@+id/chatroom"
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
android:dividerHeight="0dp"
android:divider="@null"
android:layout_alignParentBottom="false"
android:layout_alignWithParentIfMissing="false" />
<EditText
android:layout_width="match_parent"
android:inputType="text"
android:ems="10"
android:id="@+id/messageBox"
android:textAppearance="@style/TextAppearance.AppCompat"
android:freezesText="true"
android:textSize="12sp"
android:fontFamily="sans-serif"
android:layout_alignParentBottom="false"
android:layout_above="@+id/sendButton"
android:breakStrategy="high_quality"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:paddingBottom="15dip"
android:paddingTop="10dip"
android:hint="send message" />
<Button
android:id="@+id/galleryButton"
android:layout_below="@+id/messageBox"
android:layout_alignParentStart="false"
android:layout_alignParentBottom="false"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:layout_centerHorizontal="false"
android:layout_alignParentLeft="true" />
<Button
android:id="@+id/cameraButton"
android:layout_below="@+id/messageBox"
android:layout_alignParentBottom="false"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:layout_centerHorizontal="false"
android:layout_marginLeft="10dip"
android:layout_toRightOf="@+id/galleryButton" />
<Button
android:layout_height="wrap_content"
android:id="@+id/sendButton"
android:layout_width="75dip"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
答案 2 :(得分:0)
我更新了代码,请试试这个
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/btnLL"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<Button
android:id="@+id/testbutton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Save" />
<Button
android:id="@+id/cancelButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Cancel" />
<Button
android:id="@+id/cancelButton1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Cancel" />
<EditText
android:layout_width="100dp"
android:layout_height="40dp"
android:background="#ffffff"
android:text="edittext " />
</LinearLayout>
<ListView
android:id="@+id/LstPeriodOptions"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/btnLL" />
</RelativeLayout>
答案 3 :(得分:0)
我刚刚发布了最简单的布局。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
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">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/chatroom"
android:dividerHeight="0dp"
android:layout_above="@+id/messageBox"
android:divider="@null"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:ems="10"
android:id="@+id/messageBox"
android:textAppearance="@style/TextAppearance.AppCompat"
android:textSize="12sp"
android:fontFamily="sans-serif"
android:background="#eee"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:paddingStart="5dp"
android:paddingLeft="5dp"
android:paddingEnd="5dp"
android:paddingRight="5dp"
android:layout_above="@+id/galleryButton"
android:hint="send message" />
<Button
android:id="@+id/galleryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:text="gallery"/>
<Button
android:id="@+id/cameraButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Camera"
android:layout_toStartOf="@+id/sendButton"
android:layout_toLeftOf="@+id/sendButton"
android:layout_toRightOf="@+id/galleryButton"
android:layout_toEndOf="@+id/galleryButton"
android:layout_below="@+id/messageBox"/>
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/sendButton"
android:text="Send"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
用户界面不应该更深入。尽可能简单地完成。然后只有UI会更快。
所以你的布局就像