答案 0 :(得分:3)
首先,我建议您使用Flutter,它更加直观,并且您获得了Material指南的最佳集成流程。
现在,要在XML和Android Studio中为选中的项目添加圆角,颜色,字体和填充,您可以在NavigationView上拥有“ app”属性:
{
return $this->belongsToMany(Publication::class);
}
public function paragraphs()
{
return $this->hasMany(Paragraph::class);
}
使用 itemIconTint 和 itemTextColor 可以设置是否选中孔项目(图标和文本)的颜色配置。首先,执行res> new>目录,并将目录命名为“ color”。然后,使用新的>颜色资源文件> custom_color_config(名称)在颜色目录中创建 颜色资源文件 ,并放置以下内容:
{
return $this->belongsTo(Chapter::class);
}
具有state_checked = true属性的项目会将其颜色应用于当前的导航检查项目。
要添加背景圆角框,请在drawable目录中创建一个新的 drawable资源文件 ,稍后再在 itemBackground 中进行设置。因此,新建>可绘制资源文件> custom_drawable_resource(名称),然后将其放入:
<android.support.v4.widget.DrawerLayout
android:layout_width="match_parent"
...>
<android.support.design.widget.NavigationView
android:layout_width="match_parent"
...
app:itemIconTint="@color/custom_color_config"
app:itemTextColor="@color/custom_color_config"
app:itemBackground="@drawable/custom_drawable_resource"
app:itemTextAppearance="@style/custom_style"/>
然后,在颜色目录中再次创建第二个 颜色资源文件 ,以与文件custom_drawable_resource(new_color_resource_name)中的纯色属性相关联,并放置以下内容:>
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:color="your_checked_item_color"
android:state_checked="true" />
<item
android:color="your_non_checked_item_color"/>
</selector>
然后 VOILA!只需将带有一些半粗体字体的自定义样式添加到文本外观即可。
PD:很抱歉,如果我的英语不好,我通常会阅读比写的多的东西,请问来自MX。
答案 1 :(得分:0)
只需使用 app:itemShapeAppearanceOverlay
属性:
<com.google.android.material.navigation.NavigationView
app:itemShapeAppearanceOverlay="@style/ShapeAppearanceOverlay.Nav"
...>
具有:
<style name="ShapeAppearanceOverlay.Nav" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">8dp</item>
</style>