Android中的布局定位错误

时间:2017-05-18 11:04:04

标签: android android-layout

由于定位错误,我的EditText和ImageButton不会出现。片段成功出现。

这是我的布局视图代码

foreach($p_node->getChildren() as $e_node) {
  $e_node_key = $e_node->name;
 foreach($e_node->getChildren() as $v_node) {
   $v_node_key = $v_node->name;
   foreach($v_node->getChildren() as $t_node) {
    $t_node_key = $t_node->name;
     // do whatever it needs to array_push to results
   }
 }
}

我的完整源代码在https://github.com/IntellijSys/AndroidChat

4 个答案:

答案 0 :(得分:1)

enter image description here嘿,你可以使用这个

<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:background="@drawable/bg_messages"
    android:orientation="vertical"
    tools:context=".MainFragment">

    <ListView
        android:id="@+id/msgListView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:orientation="horizontal"
        android:gravity="center_vertical">

        <EditText
            android:id="@+id/message_input"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:hint="@string/prompt_message"
            android:imeActionId="@+id/send"
            android:imeActionLabel="@string/action_send"
            android:imeOptions="actionSend"
            android:inputType="text"
            android:maxLines="1"
            android:singleLine="true"/>
        <ImageButton
            android:id="@+id/send_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/ic_menu_send"
            android:contentDescription="@string/action_send"/>

    </LinearLayout>

</LinearLayout>

您可以在RecycleView的地方使用listView

答案 1 :(得分:0)

更改Listview的位置,就像您的线性布局位于listview

之后
 <?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"

android:orientation="vertical">



<LinearLayout

    android:id="@+id/form"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"

    android:background="#91f1f1f1"
    android:orientation="horizontal"
    android:paddingBottom="2dp" >


    <EditText
        android:id="@+id/messageEditText"
        android:layout_width="252dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignTop="@+id/button1"
        android:layout_toLeftOf="@+id/sendMessageButton"
        android:layout_weight="0.72"
        android:ems="10"
        android:maxHeight="80dp" />

    <ImageButton
        android:id="@+id/sendMessageButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"

        android:text="d" />
</LinearLayout>
<ListView
    android:id="@+id/msgListView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/form"
    android:divider="@null"
    android:dividerHeight="0dp"
    android:paddingBottom="10dp"
    android:text="Hello World" />
  </RelativeLayout>

答案 2 :(得分:0)

chat_layout.xml中没有问题,由于AppBarLayout,您的EditText和ImageButton正在隐藏。 您在ViewPager中使用了app:layout_behavior="@string/appbar_scrolling_view_behavior",这就是为什么您的底部部分如果第一次看不到ChatFragment,请尝试拖动您的tablayout上部。

答案 3 :(得分:0)

我已经使用我的解决方案修复了它。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="horizontal"
    android:background="#e1e1e1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ListView android:id="@+id/msgListView"
        android:paddingBottom="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:divider="@null"
        android:dividerHeight="0dp"
        android:text="+@string/hello_world"
        android:layout_above="@+id/form" />

    <LinearLayout
        android:orientation="horizontal"
        android:id="@+id/form"
        android:background="#91f1f1f1"
        android:paddingBottom="2dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true">

        <EditText android:id="@+id/messageEditText"
            android:layout_width="252dp"
            android:layout_height="wrap_content"
            android:maxHeight="80dp"
            android:ems="10"
            android:layout_weight="0.72"
            android:layout_toLeftOf="@+id/sendMessageButton"
            android:layout_alignTop="@+id/sendMessageButton"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true" />

        <ImageButton android:id="@+id/sendMessageButton"
            android:background="@drawable/send_button"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true" />

    </LinearLayout>
</RelativeLayout>