片段在TabbedActivity中被切断

时间:2015-11-25 10:07:47

标签: android android-fragments tabactivity

这是设计师的预览。

enter image description here

但是当我在设备上运行应用程序(带有5.0.1的Galaxy S4)时,片段的底部会被切断。

enter image description here

chat_fragment.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ListView
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:stackFromBottom="true"
        android:transcriptMode="alwaysScroll"
        android:layout_marginBottom="48dip"
        android:background="#1b184b"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="48dip"
        android:layout_alignParentBottom="true"
        android:padding="0dp"
        android:layout_margin="0dp"
        android:background="#753636"
        android:orientation="horizontal">

        <EditText
            android:layout_width="345dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:hint="Send a message"
            android:id="@+id/newmsg"
            />

        <ImageButton
            android:id="@+id/newmsgsend"
            android:src="@drawable/ic_send"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:scaleType="fitEnd"
            android:backgroundTintMode="multiply"
            android:backgroundTint="#400202" />
    </LinearLayout>
</RelativeLayout>

这是因为我应该从片段的布局中处理某些事情吗?

2 个答案:

答案 0 :(得分:0)

我改变了你的xml代码。只是变化不大。使用此布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ListView
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stackFromBottom="true"
    android:transcriptMode="alwaysScroll"
    android:background="#1b184b"
    android:layout_alignParentTop="true"
    android:layout_above="@+id/edit_linear_layout"
    />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="48dip"
    android:layout_alignParentBottom="true"
    android:padding="0dp"
    android:layout_margin="0dp"
    android:background="#753636"
    android:orientation="horizontal"
    android:id="@+id/edit_linear_layout"
    >

    <EditText
        android:layout_width="345dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:hint="Send a message"
        android:id="@+id/newmsg"
        />

    <ImageButton
        android:id="@+id/newmsgsend"
        android:src="@drawable/ic_send"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:scaleType="fitEnd"
        android:backgroundTintMode="multiply"
        android:backgroundTint="#400202" />
</LinearLayout>
</RelativeLayout>

答案 1 :(得分:0)

您可以在最底部的项目中添加底部边距以解决“切断”问题。

android:layout_marginBottom="50dp"

在您的情况下,将您的ImageButton更改为以下

<ImageButton
    android:id="@+id/newmsgsend"
    android:src="@drawable/ic_send"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="center_vertical"
    android:scaleType="fitEnd"
    android:backgroundTintMode="multiply"
    android:backgroundTint="#400202" 
    android:layout_marginBottom="50dp" />