2016-09-09 11 views
2

なぜandroid:iconifiedByDefault="false”という行は常に無視されるのですか?私はいつも自動的にそれを行う方法を見つける必要がありますか?それが常に無視されるのであれば、なぜそれをオプションとして含めるのですか?何か不足していますか?iconifiedByDefaultのxmlバージョンは無視されました

+1

標準の「SearchView」またはv7 appcompatバージョンを使用していますか?どのようにあなたのレイアウトにそれを組み入れていますか? –

+0

あなたの質問は、これらの違いが重要であることを意味します。もしそうなら、私は理由と方法を知りたいです。 (現在、私はv7を使用しており、SearchViewはrelativeLayout内のビューです) –

+2

v7 'SearchView'は、' android'ではなく、あなたのアプリの名前空間で定義された 'iconifiedByDefault'属性を使用します。つまり、XML内のアプリの名前空間が 'xmlns:app =" http://schemas.android.com/apk/res-auto "'のようなものであれば、 'app:iconifiedByDefault =" false "'を使う必要がありますあなたがメニューでそれを持っていたかどうかを判断することだけでした。私はチャンスを得ると、ここで一例を掲示します。 –

答えて

4

サポートライブラリのViewの大部分と同様に、v7アプリケーションの互換性SearchViewは、システムの名前空間ではなく、アプリケーションの名前空間で定義されている固有の属性を使用します。これにより、ライブラリがサポートするすべてのAndroidバージョンで属性を使用できるようになります。

iconifiedByDefault属性には、アプリの名前空間接頭辞を使用するだけです。例:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    ... > 

    <android.support.v7.widget.SearchView 
     ... 
     app:iconifiedByDefault="false" /> 

</RelativeLayout> 
+0

素晴らしい答え:チェック+ 1 –

関連する問題