小编Mar*_*Lau的帖子

Material Design - 不显示阴影的AppCompat工具栏

我正在使用AppCompat V7中的工具栏来替换上一个操作栏,并希望像上一个操作栏一样拥有工具栏的阴影.但默认情况下工具栏没有阴影,我尝试过reddit中提到的修复.但没有运气.

设置阴影的代码:

mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
Run Code Online (Sandbox Code Playgroud)

工具栏布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:minHeight="?attr/actionBarSize"
    android:background="#F1F1F1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="0dp"
    android:layout_margin="0dp"
    foreground="?android:windowContentOverlay">
Run Code Online (Sandbox Code Playgroud)

活动布局:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"     
    tools:context=".MainActivity"
    android:layout_width="match_parent"
    android:id="@+id/drawer_layout"
    android:layout_height="match_parent">

    <!-- activity view -->
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <include 
            android:id="@+id/toolbar" 
            layout="@layout/toolbar" />
        <FrameLayout android:id="@+id/fragment_container"
            android:layout_below="@id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            />

    </RelativeLayout>

    <!-- navigation drawer -->
    <RelativeLayout
        android:id="@+id/left_drawer"
        android:layout_gravity="start"
        android:layout_width="match_parent"
        android:background="#fff"
        android:layout_height="match_parent">

        <RelativeLayout 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:paddingTop="8dp"
            android:paddingBottom="8dp"
            android:divider="#eee"
            android:background="#EEE"
            android:id="@+id/drawer_header">
            <ImageView
                android:id="@+id/user_icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:contentDescription="@string/user_icon"
                android:src="@drawable/ic_action_person"
                android:paddingTop="0dp"
                android:paddingLeft="0dp"/>
            <TextView
                    android:id="@+id/userName"
                    android:layout_width="wrap_content" …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat material-design android-toolbar

7
推荐指数
1
解决办法
8623
查看次数

Android:ListPreference不支持int值

在我的应用程序中,我有以下值:

<ListPreference
    android:key="font_setting"
    android:title="@string/font"
    android:summary="%s"
    android:entries="@array/font_list"
    android:entryValues="@array/font_list_values"
    android:dialogTitle="@string/choose_font" />
Run Code Online (Sandbox Code Playgroud)

和数据:

<string-array name="font_list">
    <item>"Small"</item>
    <item>"Medium"</item>
    <item>"Big"</item>
</string-array>
<integer-array name="font_list_values">
    <item>1</item>
    <item>2</item>
    <item>3</item>
</integer-array>
Run Code Online (Sandbox Code Playgroud)

但是当我选择一个值时,应用程序崩溃,就会出现错误:

java.lang.NullPointerException
at android.preference.ListPreference.onDialogClosed(ListPreference.java:264)
Run Code Online (Sandbox Code Playgroud)

我发现这其实是提出了一个很老的问题在这里.令人惊讶的是,谷歌刚刚说它不是一个bug而且没有修复?有人有建议吗?
这是在Android 4.0版中测试的.

android listpreference

4
推荐指数
1
解决办法
2250
查看次数