我正在使用android材质设计抽屉布局。一切都很完美。但是我在Android API杠杆< = 19中留下了抽屉布局项目填充的问题。
它适用于Android API级别> = 21.请查看屏幕截图:
但是在Android API级别< = 19中,抽屉布局项目在左侧没有采用适当的填充。看截图:
我的xml文件如下:
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<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"
style="@style/styleActivity">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"
android:background="@drawable/graphics_drawer_bg"
app:itemTextColor="@color/white_light"
app:itemBackground="@drawable/graphics_item_bg"
app:itemIconTint="@color/white_light"
/>
</android.support.v4.widget.DrawerLayout>
activity_main_drawer.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group
android:id="@+id/nav_top"
android:checkableBehavior="single">
<item
android:id="@+id/nav_routine"
android:icon="@drawable/ic_access_time_accent_24dp"
android:title="Routines" />
<item
android:id="@+id/nav_class"
android:icon="@drawable/ic_book_accent_24dp"
android:title="Classes" />
<item
android:id="@+id/nav_exam"
android:icon="@drawable/ic_local_library_black_24dp"
android:title="Exams" />
<item
android:id="@+id/nav_event"
android:icon="@drawable/ic_date_range_black_24dp"
android:title="Events" />
<item
android:id="@+id/nav_statistics"
android:icon="@drawable/ic_insert_chart_black_24dp"
android:title="Statistics" />
</group>
<group
android:id="@+id/nav_bottom"
android:checkableBehavior="single">
<item
android:id="@+id/nav_settings"
android:icon="@drawable/ic_settings_black_24dp"
android:title="Settings" />
<item
android:id="@+id/nav_help"
android:icon="@drawable/ic_help_outline_black_24dp"
android:title="Help" />
</group>
</menu>
提前致谢。
答案 0 :(得分:1)
尝试在android.support.design.widget.NavigationView
中添加填充。
例如:
<android.support.design.widget.NavigationView
...
android:padding="10dp"
...
/>
正如您在评论中提到的那样,您只想添加填充 具有 API <= 19 的设备。为此,请在
res
中创建两个文件夹 。目录
values-v11
和values-v21
在这些文件夹中,添加文件dimens.xml
并在其中添加NavigationView
的维度。
dimens.xml
的{{1}}:
values-v11
<dimen name="padding_left">10dp</dimen>
的{{1}}:
dimens.xml
最后在values-v21
看起来像这样:
No padding for API >= 21
<dimen name="padding_left">0dp</dimen>
更新
在材料设计中,边距和填充是预定义的,但您可以覆盖这些值。
NavigationView
我发现了here
答案 1 :(得分:0)
Try this as item
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
android:padding="20dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#222"
android:text="bla bla bla" />
答案 2 :(得分:0)
<group
android:checkableBehavior="single">
<item
android:id="@+id/ChatItem"
android:icon="@drawable/chat_icon"
android:title="@string/title_chat"/>
<item
android:id="@+id/ClipsItem"
android:icon="@drawable/clips_icon"
android:title="@string/title_clip"/>
<item
android:id="@+id/CretaeItem"
android:icon="@drawable/new_camera"
android:title="@string/title_create"/>
<item
android:id="@+id/dopeItem"
android:icon="@drawable/star_icon"
android:title="@string/tittle_dope"/>
<item
android:id="@+id/followersItem"
android:icon="@drawable/doppes"
android:title="@string/title_followers"/>
<item
android:id="@+id/callPeopleItem"
android:icon="@drawable/call"
android:title="@string/title_call_people"/>
<item
android:id="@+id/gifs"
android:icon="@drawable/gf"
android:title="GIFs"/>
<item
android:id="@+id/memes"
android:icon="@drawable/memos"
android:title="Memes"/>
<item
android:id="@+id/community"
android:icon="@drawable/comunity"
android:title="Community"/>
<item
android:id="@+id/findPeopleItem"
android:icon="@drawable/search_new"
android:title="@string/title_find_people"/>
<item
android:id="@+id/settingsItem"
android:icon="@drawable/setting_icon"
android:title="@string/settings"/>
<item
android:id="@+id/disclaimerItem"
android:icon="@drawable/disclamer_icon"
android:title="@string/title_disclaimer"/>
<item
android:id="@+id/logoutItem"
android:icon="@drawable/logout_icon"
android:title="@string/logout"/>
</group>
答案 3 :(得分:0)
这对我有用
只需在 dimen.xml 文件
中添加这一行 <dimen tools:override="true" name="design_navigation_icon_padding">10dp</dimen>
此行覆盖导航菜单项的填充。