2017-05-18 36 views
0

我的EditText和ImageButton不會出現,因爲定位錯誤。片段成功出現。Android - 錯誤的佈局定位

這裏是我的佈局視圖代碼

<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" /> 

<LinearLayout 
    android:id="@+id/form" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="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:background="@drawable/send_button" 
     android:text="d" /> 
</LinearLayout> 

我的完整的源代碼是在這裏https://github.com/IntellijSys/AndroidChat

請指教。謝謝。

回答

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="[email protected]/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> 
1

enter image description here嘿u可以使用這一個

<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
+0

因爲當我需要RecyclerView?所有的ID已經改變了。 –

+0

你可以根據你設置ID或你也可以使用你的ListView在RecyclerView – UltimateDevil

+0

的地方實現這個佈局到你的代碼並根據你的ID改變。 – UltimateDevil

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> 
+0

還是一樣,沒有變化 –

0

chat_layout.xml中沒有問題,由於AppBarLayout,您的EditText和ImageButton被隱藏。 您已在ViewPager中使用app:layout_behavior="@string/appbar_scrolling_view_behavior",這就是爲什麼您的底部部件如果ChatFragment第一次不可見,請嘗試拖動您的Tablayout上升。

+0

那麼價值是多少? –