web-dev-qa-db-ja.com

エラー:シンボル変数abc_ic_ab_back_mtrl_am_alphaが見つかりません

New > Fragment > Fragment (Blank)を使用して、Android St​​udioプロジェクトにフラグメントを追加しました。その結果、実行しようとすると、R.drawable.abc_ic_ab_back_mtrl_am_alphaを解決できないため、プロジェクトはコンパイルされません。

toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);

これを解決する方法はありますか?

Android:buttonTintへのアクセスも失ったようです

63
Nouvel Travay

23.2.0サポートライブラリでリソースの名前が変更されました。

変更abc_ic_ab_back_mtrl_am_alphatoabc_ic_ab_back_material

編集:23.2.1では、コンポーネントの名前がabc_ic_ab_back_mtrl_am_alphaに変更されました

編集:24.0.0では、コンポーネントの名前がabc_ic_ab_back_materialに変更されました

174
Jon

サポートライブラリのベクター描画可能実装のため、ラスタ形式の画像はもうないようです。そこで、以前のバージョンのサポートライブラリと同じ矢印を表すこのベクトルDrawableを配置しました。 drawableフォルダー、New-> Drawable resource fileを右クリックして貼り付けますこのxmlコード:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:width="24dp"
    Android:height="24dp"
    Android:viewportWidth="24"
    Android:viewportHeight="24">

    <path
        Android:pathData="M0 0h24v24H0z" />
    <path
        Android:fillColor="#ffffff"
        Android:pathData="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" />
</vector>

ソース

API <21の場合、これらのプロパティをgradleビルドファイルに追加する必要があります。

Gradleプラグイン2.0+

Android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }

Gradleプラグイン1.5

Android {  
   defaultConfig {  
     generatedDensities = []  
  }  

  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 } 

詳細については、 このブログ投稿 を参照してください。

15
flyingAssistant

私の場合、このようにしました

final ActionBar ab = mActivity.getSupportActionBar();
             ab.setHomeAsUpIndicator(Android.support.v7.appcompat.R.drawable.abc_ic_ab_back_material);
7
user711023

Androidサポートライブラリをバージョン23.2.0に更新すると、この問題が発生しました。

私の場合、競合するサードパーティのライブラリを使用していました。

この問題を解決するために、サードパーティライブラリの新しいバージョンに切り替えました。

これはあなたが探している答えではないかもしれませんが、ほんの数分前に私にも起こりました。 Android St​​udioから、Gradleファイルで「com.google.Android.gms」および「com.Android.support」の新しいバージョンが利用可能であることが通知されました-当時、8.3を使用していました前者は.0で、後者は23.1.1なので、8.4.0と23.2.0に更新しました。それで、あなたと同じ問題が発生し、Android St​​udioがvalues-v11にジャンプしましたAFollestadのマテリアルダイアログ用のライブラリにある.xmlファイル。これは AppCompatライブラリを使用 であるため、問題を引き起こしているようです。

編集:ちょうど見つかった this 、あなたがバージョン0.8.5.5を使用しているかどうかマテリアルダイアログチェックを使用している場合。そうでない場合は、アップグレードしてください。

1
CiaranC94