2016-04-22 8 views
0

現在、標準の24dpサイズのPNGを使用しています。しかし、100dpを超えるアイコンが必要でした。そこで私は、サイズの大きいPNGの代わりにSVGを使用するほうがよいことを発見しました。複数のサイズのAndroid SVG?

1つのアイコン(Gradleでは2.0、23.3 LIB Androidのサポートを使用して)

は通常共有アイコンです。以前は、ic_share_white_24dp.pngを使ってActionBarの共有ボタンを表示していました。私は大規模なShareアイコンを使用する必要があったので、Vector Asset Studioを使用してMaterial SVG Shareアイコンをインポートしました。これは、インポートした後、このように見えた:

ファイル名:私は100dpに幅と高さを変更しic_share_white_48px.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:width="100dp" 
    android:height="100dp" 
    android:viewportHeight="24.0" 
    android:viewportWidth="24.0"> 
    <path 
     android:fillColor="#FFFFFF" 
     android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z" /> 
</vector> 

。これは、以下の API LOLLIPOPを使用すると、100dpで表示されるときにPNGが生成され、拡大縮小されます。そこで、24dpを100dpに変更したので、Android Studioは100dpのPNGを生成できます。

今、このSVGをアクションバーにも使用したいと考えています。高さと幅が24dpに設定された新しいxmlを作成する必要がありますか?またはこれはパフォーマンスの問題なしでスケーリングされたうまく動作しますか?マルチサイズの画像を扱う最良の方法は何ですか?

最も重要なことは、私は理解のいくつかの基礎を欠いているか?ここで

答えて

3

http://fontastic.me/

はあなたの.ttfファイルにSVGを変換し、Unicodeを生成するサイトです。それを資産/フォントフォルダに入れてください&ユニコードの値フォルダ(icons.xml)は、特定のアイコンの文字列名を与えます。

例:<string name="icon_info">&#xf129;</string>

使用

icon_info=(TextView)findViewById(R.id.icon_info); 
Typeface font = Typeface.createFromAsset(this.getResources().getAssets(), "fonts/icons.ttf"); 
icon_info.setTypeface(font); 
+0

はい、これはいくつかのケースでは有用である可能性があるのTextView

<TextView android:id="@+id/icon_info" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/icon_info" android:textColor="@color/black" android:textSize="40dp" /> 

INとの.javaファイルにこの文字列。しかしいつもではない。私の用法はかなり複雑です。 – kirtan403

関連する問題