Android Studio Project:UI的底部被切断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio Project:UI的底部被切断相关的知识,希望对你有一定的参考价值。

当我将应用程序加载到手机或使用模拟器时,我的ListView底部和ImageButton被切断了。我可以使用边距或填充,但这不是特定于设备?无论屏幕尺寸如何,我都希望我的应用看起来像我想要的那样。这是我的代码:

班级:

public class Cookbook extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        String[] items = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity().getApplicationContext(),
                        R.layout.row_layout,
                        items);

        View view = inflater.inflate(R.layout.frag_cookbook, container, false);
        ListView list = (ListView) view.findViewById(R.id.listView);
        list.setAdapter(adapter);


        return view;
    }
}

布局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:background="#ffffff">

    <ListView
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_gravity="fill"
        android:id="@+id/listView"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        android:background="#f9e48f" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_add"
        android:background="@null"
        android:layout_gravity="end|bottom"
        android:layout_alignParentBottom="true"
        android:baselineAligned="false"
        android:layout_alignParentEnd="true"
        android:layout_marginBottom="1dp" />


</RelativeLayout>

Android Studio预览如下所示:

Android Studio Preview

但是当模仿它或将其加载到手机上时,它看起来像这样:

Emulated UI display

答案

这是因为你正在使用CoordinatorLayoutListView。您可以将实现更改为RecyclerView以实现正确的滚动。

或者如果您使用的是5.0以上,则可以使用以下代码

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { listView.setNestedScrollingEnabled(true); }

我认为CoordinatorLayout只适用于NestedScrollingChild的孩子们。

另一答案

我最近才发生过这件事。我建议也发布你的styles.xml

对我来说,罪魁祸首是这行代码或类似的东西:

<item name="android:windowTranslucentStatus">true</item>

这是我发布的类似问题的问题:Layout is under StatusBar and Soft Keys

另一答案

Android Design Library,好吧,FloatingActionButton应该在CoordinatorLayout内,而不是在任何其他视图中:在上面的一个标签中的片段视图。所以尝试将你的FloatingActionButton添加到你的main_layout,然后只是与活动沟通,以显示/隐藏FAB并进行必要的点击。

另一答案

将下面的代码放在onCreateView中,我认为它会起作用。

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
decorView.setSystemUiVisibility(uiOptions);
另一答案

将布局更改为RelativeLayout对我有用。然后在viewPager标记中添加此行:

android:layout_below="@id/appbar"

牛油.. !!

以上是关于Android Studio Project:UI的底部被切断的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 左边栏Project不见了?

Android Studio左边栏Project不见了?

android studio 刚安装后创建了一个project 然后run模拟器 就出现这个问题求解答

Android Studio project和module的区别

Android Studio左侧Project侧边栏如何设置默认显示的是Project

Android Studio怎样加入工程(project)为library(针对非gradle)