Android 为什么';这是导航抽屉的代码吗?
下面是一些创建导航抽屉的代码。问题是抽屉没有正确地出现。抽屉从活动开始时就可见,但仅部分可见,而且不会从侧面滑入或滑出。它只是固定在一个地方。这里怎么了 注意:我通过在Android 为什么';这是导航抽屉的代码吗?,android,xml,navigation-drawer,Android,Xml,Navigation Drawer,下面是一些创建导航抽屉的代码。问题是抽屉没有正确地出现。抽屉从活动开始时就可见,但仅部分可见,而且不会从侧面滑入或滑出。它只是固定在一个地方。这里怎么了 注意:我通过在styles.xml 活动\u main.xml <?xml version="1.0" encoding="utf-8"?> < android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/an
styles.xml
活动\u main.xml
<?xml version="1.0" encoding="utf-8"?>
<
android.support.v4.widget.DrawerLayout
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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.nirvan.navigationexample3.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"></LinearLayout>
<
android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/nv"
>
<ListView
android:layout_width="200dp"
android:layout_height="match_parent"
android:id="@+id/listView"></ListView>
</android.support.design.widget.NavigationView>
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
</TextView>
<
android.support.v4.widget.DrawerLayout
xmlns:android=”http://schemas.android.com/apk/res/android"
xmlns:tools=”http://schemas.android.com/tools"
android:layout\u width=“匹配父项”
android:layout\u height=“match\u parent”
android:paddingBottom=“@dimen/activity\u vertical\u margin”
android:paddingLeft=“@dimen/activity\u水平\u边距”
android:paddingRight=“@dimen/activity\u水平\u边距”
android:paddingTop=“@dimen/activity\u vertical\u margin”
工具:context=“com.example.nirvan.navigationexample3.MainActivity”>
<
android.support.design.widget.NavigationView
android:layout\u width=“包装内容”
android:layout\u height=“match\u parent”
android:id=“@+id/nv”
>
mainActivity.java
package com.example.nirvan.navigationexample3;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView ls=(ListView)findViewById(R.id.listView);
String[] values=
{"one","two","three","four","five","six","seven","eight"};
ArrayAdapter<String> adapter=new ArrayAdapter(this,
R.layout.item,values);
ls.setAdapter(adapter);
}
}
package com.example.nirvan.navigationexample3;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.support.v7.widget.Toolbar;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类MainActivity扩展了AppCompatActivity
{
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView ls=(ListView)findViewById(R.id.ListView);
字符串[]值=
{“一”、“二”、“三”、“四”、“五”、“六”、“七”、“八”};
ArrayAdapter=新的ArrayAdapter(此,
R.布局、项目、价值);
ls.setAdapter(适配器);
}
}
item.xml
<?xml version="1.0" encoding="utf-8"?>
<
android.support.v4.widget.DrawerLayout
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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.nirvan.navigationexample3.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"></LinearLayout>
<
android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/nv"
>
<ListView
android:layout_width="200dp"
android:layout_height="match_parent"
android:id="@+id/listView"></ListView>
</android.support.design.widget.NavigationView>
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
</TextView>
按如下方式编辑布局文件:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="false">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/nav_header_main"
android:id="@+id/my"/>
<ListView
android:layout_weight="7"
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/list_view_inside_nav"></ListView>
</LinearLayout>
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
除了路易斯·费尔南多的回答,别忘了把
</android.support.v4.widget.DrawerLayout>
在XML文件的末尾。但是为什么
线性布局
应该包含导航视图
?我的理解是,第一个线性布局
用于抽屉隐藏时。而导航视图
包含抽屉的内容。那么为什么要LinearLayout
将视图括起来呢?如果您想使用列表视图在抽屉菜单中显示选项,您可以使用上面的布局(编辑),那么其余应用程序的xml代码放在哪里呢?我说的是抽屉被藏起来的那部分,请解释一下。它做什么?您缺少抽屉视图
上相应的布局
属性。