2012-03-05 4 views
4

アンドロイドでは、LDPI、HDPI、MDPIなどの画面密度でリソースを定義できます。Android:Launcher DPのアイコンの幅と高さ

私は、横にあるImageViewと同じ幅と高さのTextLayoutを持つUIを構築したいと考えています。 ImageViewは、ランチャーアイコンと同じサイズの画像(HDPIの場合は72pxなど)をホストします。

アイコンが特定の幅の高さを 'dp'で持っていることを知る方法はありますか(kwnoiがないので、XMLをハードコードできるので、これは可能です。 DPの値を取得するのいずれかの方法。

<TextView 
    android:id="@+id/holidaylistitem_day" 
    android:layout_width="<X>dp" 
    android:layout_height="<Y>dp" 
    android:text="1st"/> 

<ImageView 
    android:id="@+id/holidaylistitem_type" 
    android:src="@drawable/ic_launcher" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

私は必要なものはので、両方が同じサイズのものであろうXとYの値である。

+0

あなたはyoutubeのPHP、Mysql、Apache2に関するビデオを持っていますか? –

答えて

7

Android Design Guideが推奨icon dimensionsを説明するページがあります。要するに、ランチャーアイコンは48x48 dpです。

+0

私はあなたが正しいと思う、感謝する、ありがとう、私はそれをチェックします。私は完全にリンクを読んでいなかったし、詳細を逃した。指摘してくれてありがとう。 –

1

異なるタイプの装置がアンドロイドであるとして4例があります。

ldpi --> 36x36 
mdpi --> 48x48 
hdpi -->72x72 
xhdpi --> 96x96 

このLinkをチェックしてください。

+0

hdpiの場合は、72x72と言うことになります。 – Sparky

+0

ピクセル値は正しくありますか?私は@Sparkyが正しいと思うし、私はページを短く見てきましたが、48dpという値を見逃しました。 ピクセル値が問題になりますが、問題は、私の知っている通りにレイアウトファイルをほとんど書き込まなくてはならないということです。私は1つのファイルで事をしたい、他の編集することを忘れて、私は1つに変更を行うonece。 あなたの質問には、Youtubeビデオについて、それは私です。 –

+0

@ Sparky yeah u r right。私は私の答えを編集しました。私はそれを間違って入力しました。 –

1

Android Killerによれば、「アンドロイドにはさまざまな種類の端末があるため、4つのケースがあります...」

DP =(PX * 160)/解像度
参考:そして、あなたはdpi.Toは、この使用をDPするピクセルに変換取得することができます
developer.android

0

私はあなたの状況のた​​めのよりよい解決策を持っていますしかし、それは少し複雑です。ここに私達は行く:

  1. 横置き、あなたのアイコンサイズを決めることはできませんが、あなたはそれが正方形であることを確認している、とあなたはあなたのアイコンと同じ幅/高さが欲しいとき。

    アンドロイド:layout_alignTop = "@ + ID/holidaylistitem_type" アンドロイド:layout_alignBottom = "+ ID/holidaylistitem_type" 今、あなたのTextViewの位置と高さが固定されている

  2. あなたはこれを行うことができます。次に、あなたのTextViewを拡張し、次の操作を行います。

    @Override
    保護のボイドonMeasure(int型widthMeasureSpec、int型heightMeasureSpec){

    int width = MeasureSpec.getSize(widthMeasureSpec); 
        int height = MeasureSpec.getSize(heightMeasureSpec); 
    
        if (width > height) { 
         width = height; 
        }  
        super.onMeasure(
          MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), 
          MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY) 
        ); 
    } 
    
  3. ImageViewのは、広場サイズの。