0

10 個の ImageView を並べて (横一列に) 配置する必要があり、左から右に画面全体を埋める必要があります。したがって、画面の合計幅が 100px の場合、各 ImageView の幅は 10px になります。各 ImageView の高さは無視しましょう。

dp世界で、どのように値を使用してこれを達成できます pixels? ldpi、mdpi、および hdpi の各フォルダー内に .jpg 画像を配置しました。それぞれに、この男の回答に関する寸法があります。こちらを参照してください。

私はこれをやってみました:

<ImageView 
  android:id="@+id/caca1" 
  android:src="@drawable/tile_11" 
  android:layout_width="wrap_content"  
  android:layout_height="wrap_content" />
<ImageView 
  android:id="@+id/caca2" 
  android:src="@drawable/tile_11" 
  android:layout_toRightOf="@+id/caca1" 
  android:layout_width="wrap_content"  
  android:layout_height="wrap_content" />

... and so on, 'til the 10th ImageView. Each one is place on the right side of the previous.

上記のコードは、画面の左マージンから開始して、それらを一列に表示します...しかし、右マージンには達しません。

各画像ビューの幅をピクセル単位で定義せずに、各タイルを画面の幅に合わせて引き伸ばす方法はありますか?

4

3 に答える 3

1

高さを動的に調整することに関しては、アクティビティ OnCreate() でプログラムでこれを行う必要があると思います。

各画像について:

// image layout adjustment
LayoutParams lp = mImage.getLayoutParams();
float width = (float)mImage.getDrawable().getIntrinsicWidth();
int height = (int)(((float)mContext.getWindowManager().getDefaultDisplay().getWidth() / 10.0f) * ((float)mImage.getDrawable().getIntrinsicHeight() / width));

lp.height = height;
mImage.setLayoutParams(lp);

高さ = 画面幅 / 10 (余白が 0 であると仮定すると、10 個の画像があるため) 次に、画像の高さ/幅の比率を掛けます。これにより、画像の縮尺が維持されます。

于 2012-07-12T16:17:28.543 に答える
1

a を使用しLinearLayoutてそれらを水平に表示します。

<LinearLayout
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:orientation="horizontal">
  <ImageView
    android:layout_width="0"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:src="@drawable/image" />
  <ImageView
    android:layout_width="0"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:src="@drawable/image2" />
  etc..
</LinearLayout>

がそれぞれlayout_weightの で同じでImageViewあれば、 内で同じサイズになりLinearLayoutます。

于 2012-07-12T15:21:53.360 に答える
1

画像の幅を 0 に、重みを 1 に設定し、スケール タイプCENTER_CROPまたはに設定します。FIT_XY

<ImageView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:src="@drawable/image"
    android:scaleType="CENTER_CROP" />
于 2012-07-12T15:53:44.820 に答える