2017-09-17 14 views
1

私は@drawableに精通していますが、私がクローンしたレポでは、アイテムのドロアブルを参照しながら@ r $ drawableが使用されていました。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:drawable="@drawable/ic_home_live_pressed"/> 
</selector> 

答えて

0

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:drawable="@r$drawable/ic_home_live_pressed" /> 
</selector> 

"$"(ドル記号)は、AndroidのXMLファイルから内部クラスを参照するために使用されます。例えば

は:

class Outer { 
    class Innter { 
    } 
} 

Outer$Inner 

と称されるであろう通常、これは、非静的内部クラスを参照する方法です。 "。" (ドット)表記は、静的な内部クラスに使用されます。

Drawableは静的な内部クラスなので、あなたが見たソースコードはdrawableを非静的な内部クラスとして参照しています。

このようなコードを見たリポジトリへのリンクを共有することができれば、その理由を簡単に説明することができます。

で、この上でいくつかの詳細情報を検索:上記の質問のためのこの特定のasnwerはこの上良いと最新情報を提供してい

Android XML referencing via dollar sign vs dot sign

Error referencing an inner class View in layout/main.xml

https://stackoverflow.com/a/46223464/550967

関連する問題