2013-03-15 4 views
6

パディングの相対的なサイズを使用できるようにする必要があります。デバイスの解像度とdpiに応じて大きくするか小さくする必要があります。Androidの重量にマージンとパディングがある

たとえば、私のビューが100pxの場合、10pxのパディングが残っていて、10pxのパディングが正しいとします。 しかし、それがより高密度の画面で実行され、250pxと言う場合、左右のパディングがそれぞれ25pixelになるようにする必要があります。

ハードコーディングのピクセルまたはdpは妥当ではないようですが、私はそれを取り除くことができれば、コードビハインドスケーリングのロジックを避けることを好みます。また、同じ効果を得るために、追加の重み付き空のビューを使用しないことをお勧めします。どのように私はそれをどちらかの方法でパディングをシミュレートすることができますか分からない。

xmlからこれを行う方法はありますか?あるいは、コードの背後にあるデバイスの解像度/ dpiに基づいてそれらを拡大する必要がありますか?

+0

もう少し具体的にする必要があります。マージン、パディングおよびウェイトはすべて、非常に異なる目標を持っています。ウェイトはビューの幅や高さを設定しますが、マージンは設定しません。埋め込みはウィジェット/ビュー自体の*内部*のため、これはさらにweight属性からのものです。 –

+0

@StefandeBruijnポイントを取って、質問を改訂しました。 – George

+1

あなたはDP(i)が妥当ではないと言っています、なぜ正確にはそうではありませんか?それらはハードコーディングされたピクセルではありません。それらは1インチあたりのドット数です。彼らはあなたが望むものをまさにやるでしょう。 8dpi(Googleの推奨マージン)は、高解像度の画面では低解像度の画面よりも多くのピクセルになります。 –

答えて

0

実際には「パディングの相対的なサイズ」ではありませんが、私はAndroidを使用していると思いますdimension value defined in XMLあなたが望むことをします。 "ピクセルのハードコーディング"を避けたいだけでなく、 "XMLからこれを行う"ことを避けるために、あなたの質問から推測するのは難しい);

上記のリンクはこの例を示しています。

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <dimen name="textview_height">25dp</dimen> 
    <dimen name="textview_width">150dp</dimen> 
    <dimen name="ball_radius">30dp</dimen> 
    <dimen name="font_size">16sp</dimen> 
</resources> 

次に、

<TextView 
    android:layout_height="@dimen/textview_height" 
    android:layout_width="@dimen/textview_width" 
    android:textSize="@dimen/font_size"/> 

Android SDK自体もこの方法を使用しています。

values/dimens.xml

<resources> 

    <!-- Default screen margins, per the Android Design guidelines. --> 
    <dimen name="activity_horizontal_margin">16dp</dimen> 
    <dimen name="activity_vertical_margin">16dp</dimen> 

</resources> 

values-sw600dp/dimens.xml

<resources> 

    <!-- 
    Customize dimensions originally defined in res/values/dimens.xml (such as 
    screen margins) for sw600dp devices (e.g. 7" tablets) here. 
    --> 

</resources> 

あなたは「構成修飾子の名前を」使用してproviding resourcesているときは、APIレベル、画面サイズ、ランドスケープ対肖像画、上記の組み合わせ「と、より」でvalues-FOOをターゲットにすることができます。

関連する問題