我的布局非常复杂。父 - ScrollView。然后是4个RelativeLayouts。其中一个包含ExpandedListView。
就是这样:
<?xml version="1.0" encoding="UTF-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:foo="http://schemas.android.com/apk/res/com.assignmentexpert"
android:id="@+id/scrollNewMessage"
android:layout_width="fill_parent"
android:fillViewport="true"
android:layout_height="fill_parent"
>
<RelativeLayout
android:id="@+id/newMessagePanel"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="fill_parent">
<RelativeLayout
android:id="@+id/panelInteractions"
android:layout_width="wrap_content"
android:layout_height="75dp"
android:layout_below="@+id/panelButtons"
android:background="#738495"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/deadlineLayout"
android:layout_width="170dp"
android:layout_height="fill_parent"
android:focusableInTouchMode="true"
android:focusable="true"
android:orientation="vertical"
>
<com.customitems.CustomTextView
android:id="@+id/textLabel"
android:text="Deadline:"
android:layout_height="wrap_content"
android:layout_width="115dp"
android:layout_marginBottom="0dp"
android:layout_marginTop="10dp"
android:focusableInTouchMode="true"
android:focusable="true"
foo:customFont="Roboto-Regular.ttf"
android:textSize="14sp"
android:gravity="left|center"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:textColor="#43576b"
android:textStyle="bold" />
<com.customitems.CustomTextView
android:id="@+id/deadlineLabel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
foo:customFont="Roboto-Regular.ttf"
android:layout_below="@+id/textLabel"
android:gravity="top|left"
android:paddingLeft="10dp"
android:text="Deadline:"
android:textColor="#000000"
android:textSize="14sp"
android:textStyle="bold" />
</RelativeLayout>
<Button
android:id="@+id/btnPay"
android:layout_width="80dp"
android:layout_height="45dp"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:focusableInTouchMode="true"
android:focusable="true"
android:background="@drawable/button_inactive"
android:layout_marginRight="20dp"
android:visibility="gone"
android:layout_toRightOf="@+id/deadlineLayout"
android:gravity="center_vertical|center_horizontal"
android:text="Pay"
android:textColor="#11375e"
android:textSize="18dp"
android:textStyle="bold" />
<com.customitems.CustomTextView
android:id="@+id/priceLabel"
android:text="N/A:"
android:textSize="18sp"
android:layout_height="fill_parent"
android:layout_width="75dp"
android:layout_alignParentRight="true"
android:paddingLeft="10dp"
android:gravity="center_vertical|center_horizontal"
android:textColor="#FFFFFF"
foo:customFont="Roboto-Regular.ttf"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@+id/panelInteractions"
android:layout_above="@+id/tableLayout2"
>
<com.customitems.CustomTextView
android:id="@+id/interactionId"
android:layout_width="150dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Reply"
android:layout_marginTop="5dp"
android:layout_marginLeft="25dp"
android:textColor="#FFFFFF"
android:textSize="14sp"
android:textStyle="bold"
foo:customFont="Roboto-Regular.ttf" />
<com.customitems.CustomEditText
android:id="@+id/editMessage"
style="@style/custom_edittext"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/interactionId"
android:gravity="top|left"
android:hint="Write your message"
foo:customFont="Roboto-Regular.ttf" >
</com.customitems.CustomEditText>
</RelativeLayout>
<RelativeLayout
android:id="@+id/tableLayout2"
android:layout_width="fill_parent"
android:layout_above="@+id/panelMessage2"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnAddFilesMessage"
style="@style/custom_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/gray_button"
android:layout_centerHorizontal="true"
android:text="@string/btn_add_files"
/>
<include layout="@layout/file_list"
android:id="@+id/messageFileList"
android:tag="messageFileList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_below="@+id/btnAddFilesMessage"
/>
</RelativeLayout>
<LinearLayout
android:id="@+id/panelMessage2"
android:layout_marginTop="10dp"
android:layout_width="fill_parent"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1.0">
<Button
android:id="@+id/btnSendMessage"
style="@style/custom_button"
android:layout_marginRight="10dp"
android:text="Send"
android:layout_weight="0.58"/>
<Button
android:id="@+id/btnCancelNewMessage"
style="@style/custom_button"
android:layout_marginLeft="10dp"
android:text="Cancel"
android:background="@drawable/gray_button"
android:layout_weight="0.42" />
</LinearLayout>
</RelativeLayout>
</ScrollView>
当我点击EditText时,它会缩小并显示软键盘和那些包含android:layout_alignParentBottom="true"
节目的布局。我需要EditText不要缩小。这是什么原因?也许在ScrollView的android:fillViewport="true"
中?或者在最后一个布局的android:layout_alignParentBottom="true"
中。请告知如何正确组织它。
答案 0 :(得分:1)
我认为你应该在Edittext中使用它
android:minLines="10"
for avoiding shrink.
请查看我所做的更改并尽可能避免使用相对布局。请将textview和其他视图恢复为自定义视图,这只是一个提示。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollNewMessage"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/newMessagePanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/panelInteractions"
android:layout_width="wrap_content"
android:layout_height="75dp"
android:background="#738495"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/deadlineLayout"
android:layout_width="170dp"
android:layout_height="fill_parent"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="vertical" >
<TextView
android:id="@+id/textLabel"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:layout_marginBottom="0dp"
android:layout_marginTop="10dp"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="left|center"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:text="Deadline:"
android:textColor="#43576b"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/deadlineLabel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textLabel"
android:gravity="top|left"
android:paddingLeft="10dp"
android:text="Deadline:"
android:textColor="#000000"
android:textSize="14sp"
android:textStyle="bold" />
</RelativeLayout>
<Button
android:id="@+id/btnPay"
android:layout_width="80dp"
android:layout_height="45dp"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="20dp"
android:layout_toRightOf="@+id/deadlineLayout"
android:background="#FFCCCC"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical|center_horizontal"
android:text="Pay"
android:textColor="#11375e"
android:textSize="18dp"
android:textStyle="bold"
android:visibility="gone" />
<TextView
android:id="@+id/priceLabel"
android:layout_width="75dp"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:gravity="center_vertical|center_horizontal"
android:paddingLeft="10dp"
android:text="N/A:"
android:textColor="#FFFFFF"
android:textSize="18sp"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/interactionId"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:text="Reply"
android:textSize="14sp"
android:textStyle="bold" />
<EditText
android:id="@+id/editMessage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/interactionId"
android:gravity="top|left"
android:minLines="10"
android:hint="Write your message" >
</EditText>
</RelativeLayout>
<LinearLayout
android:id="@+id/tableLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/btnAddFilesMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFCCCC"
android:text=" btn_add_files" />
<View
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#FFFF66" />
</LinearLayout>
<LinearLayout
android:id="@+id/panelMessage2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<Button
android:id="@+id/btnSendMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_weight="0.58"
android:background="#FFCCCC"
android:text="Send" />
<Button
android:id="@+id/btnCancelNewMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="0.42"
android:background="#FFCCCC"
android:text="Cancel" />
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 1 :(得分:0)
这可能有效,请在清单文件中设置您的活动:
android:windowSoftInputMode="adjustNothing"