2

隣同士に2つの画像があります。

確かに、サイズとして「dp」を使用していますが、一部の画面では画像が小さくなり、一部の画面では小さくなりません。それはdpがすることです。

サイズを何に設定する必要があるのか​​ わかりません。50dp、75dp、または100dp...そして、それを決定する方法もわかりません。

画像のサイズを「画面サイズ/ 2」にして(2つの画像があるため)、サイズを調整したいだけです。背を高くしてはいけない。どの解像度でも、幅を「画面幅 / 2」に設定し、高さを幅に比例するように設定する必要があります。

これが私が欲しいもののグラフィックです:

実例

私は何をすべきか?

どんな提案でも大歓迎です。

4

2 に答える 2

1

画像の幅を に設定する場合は、代わりに をscreen size / 2使用していることを確認してください。そうしないと、そのデバイスの解像度が原因で、さまざまなデバイスで結果が異なります。以下のコードで幅をピクセル単位で取得できます。pxdp

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        displayWidth = dm.widthPixels;

その後、これを使用して画像の幅を設定できます。

       image_view.getLayoutParams().width = displayWidth /2; 

これで問題が解決することを願っています。

これを実現するもう 1 つの方法は、次のように .xml ファイルを変更することです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2"
    android:orientation="horizontal" >


    <ImageView
        android:layout_width="0dp"
        android:layout_weight="1"
        ......
        ........./>

    <ImageView
        android:layout_width="0dp"
        android:layout_weight="1"
        ......
        ........./>

    </LinearLayout>
于 2013-05-19T02:51:56.727 に答える
0

android:layout_weightで属性を使用しますlinearLayoutLinearLayout同じで2つのイメージビューを設定するとandroid:layout_weight、同じスペースが必要になります。例えば

< LinearLayout
........
.......
android:orientation="horizontal">

    <ImageView
        android:layout_width="0dip"
        android:layout_weight="1"
        ......
        ........./>

    <ImageView
        android:layout_width="0dip"
         android:layout_weight="1"
        ......
        ........./>

</LinearLayout>
于 2013-05-19T02:33:00.670 に答える