0

AS での即時実行が機能しない場合は次のとおりです。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    toolbar.setElevation(visible ? getResources().getDimension(R.dimen.elevation_toolbar) : 0);
} else {
    View toolbarShadow = findViewById(R.id.toolbar_shadow);
    toolbarShadow.setVisibility(visible ? View.VISIBLE : View.GONE);
}

のビューにlayoutR.id.toolbar_shadow. すべて良い。

ただし、ビューにlayout-21が含まれていないR.id.toolbar_shadow場合、アプリをApi 23デバイス gradle などにコンパイルすると、次のエラーで失敗します。

Error:(1046, 42) error: cannot find symbol variable toolbar_shadow

これを解決するためのアイデアはありますか?


更新:レイアウトの要求に応じて:

res/layout/actionbar.xml:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    ... >

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        ... />

    <View
        android:id="@+id/toolbar_shadow"
        ... />

</LinearLayout>

res/layout-21/actionbar.xml:

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
            ... />
4

1 に答える 1