1

Android 検索と自動検索提案機能を使用するアクティビティがあります。

私がアクティビティで使用しているサムネイルはすべて SD カードに保存され (たくさんあります)、すべて MDPI 解像度です。

アクティビティでそれらを使用する場合、これを考慮して適切にスケーリングできるため問題ありませんが、検索候補ビューでは、サムネイルが現在の DPI であると想定されているように見えるため、HDPI デバイスではサムネイルが小さく見えます。

カスタムを使用して検索候補ビューのサムネイルを取得し、メソッドContentProviderをオーバーライドしてopenFileいますが、ジェネリックを返すだけなので、DPI の設定を制御する方法がわかりませんParcelFileDescriptor

を使用しParcelFileDescriptorて、検索候補ビューに DPI を通知することはできますか? または別の可能な方法はありますか?Android フレームワークが自動提案ビューへのデータのマッピングを処理するため、自分で直接制御することはできません。

私のopenFile方法は次のようになります。

public ParcelFileDescriptor openFile( Uri uri, String mode ) {
        String deletePackage = "content://" + PACKAGE_NAME + "/";
        String url = uri.toString();
        String filePath = url.substring(deletePackage.length());
        Log.d("AssetsContentProvider", "openFile: " + filePath);
        File file = new File( filePath );

        ParcelFileDescriptor parcel = null;
        try {
            parcel = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
        } catch (FileNotFoundException e) {
            Log.e( "AssetsContentProvider", "Error finding: " + file.getPath() + "\n" + e.toString() );
        }

        return parcel;
}

これは、自動提案マネージャーがファイルを要求してから表示されるまでの間、ファイルを制御できる唯一の場所のようです。

4

0 に答える 0