有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java第一项ListView ago操作栏

我以为第一个项目没有被添加到列表中,但我注意到被添加了,因为当我放置marginTop安卓:layout_marginTop="?安卓:attr/actionBarSize"时,列表视图项目出现了我应该怎么做才能解决这个问题

如果没有属性安卓:layout_marginTop="?安卓:attr/actionBarSize",第一项将消失,它位于ActionBar后面

Genymotion Emulator image

活动设置。xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:tools="http://schemas.安卓.com/tools"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
    安卓:paddingBottom="@dimen/activity_vertical_margin"
    安卓:paddingLeft="@dimen/activity_horizontal_margin"
    安卓:paddingRight="@dimen/activity_horizontal_margin"
    安卓:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.simplerecorder.preferences.SettingsActivity">

    <ListView
        安卓:id="@+id/listSettings"
        安卓:layout_width="match_parent"
        安卓:layout_height="match_parent"
        安卓:layout_marginTop="?安卓:attr/actionBarSize"
        安卓:divider="@drawable/list_separator"
        安卓:dividerHeight="3dp" />

</RelativeLayout>

在设置活动中。java

        listView = (ListView) findViewById(R.id.listSettings);

        String[] titles = context.getResources().getStringArray(R.array.titles);
        String[] descs = context.getResources().getStringArray(R.array.descs);

        listAdapter = new SettingsAdapter(context, titles, descs);
        listView.setAdapter(listAdapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                switch (position) {
                    case 0:
                        prefsDialogs.dgColorPicker();
                        break;
                    case 1:
                        prefsDialogs.dgNotify();
                        break;
                    case 2:
                        prefsDialogs.dgFolderPicker();
                        break;
                }
            }
        });
    }

数组。xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string-array name="titles">
        <item>Cor do widget</item>
        <item>Onde salvar</item>
    </string-array>

    <string-array name="descs">
        <item>Mude a cor do widget aqui</item>
        <item>Escolha a pasta de sua preferencia</item>
    </string-array>

</resources>

共 (1) 个答案

  1. # 1 楼答案

    写这篇文章是为了回答这个问题(并供堆栈溢出用户将来参考)

    这是正常的行为。没什么可修的

    工具栏只是其他UI元素上方的一张纸

    如果你想让其他UI元素显示在下面,你需要告诉他们。通过设置android:layout_marginTop="?android:attr/actionBarSize",或使用RelativeLayout并设置在Toolbar{}下方