2

しばらくの間、これに対する答えを探していましたが、自分に合った答えが見つかりません。Linear Layout で同じ行に 3 つの写真を配置したいと考えています。私はそれらをImageButtonsにしたい、ここに私のコードがあります:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ImageButton
        android:id="@+id/ImageButton05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:scaleType="centerInside"
        android:src="@drawable/background" />

    <ImageButton
        android:id="@+id/ImageButton04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:scaleType="centerInside"
        android:src="@drawable/background" />

    <ImageButton
        android:id="@+id/ImageButton03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:scaleType="centerInside"
        android:src="@drawable/background" />

</LinearLayout>

私が得る問題は、画像の「背景」が大きすぎるため、ボタンの重量が正しく表示され、高さが予想よりもはるかに大きいことです。次のようになります。

http://imageshack.us/a/img18/1516/x3qi.png に見える

次のようになります。

http://imageshack.us/a/img855/834/403t.png に見えるはずです

dpでサイズを指定せずにどうすれば解決できますか?

4

5 に答える 5

7

android:adjustViewBounds="true"各 ImageButtons に追加するだけ です。必要なのはそれだけです。

于 2013-08-31T17:06:10.107 に答える
1

次のように、最大​​高さをの幅Activityに設定することができます。ImageButton

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ImageButton ib = (ImageButton) findViewById(R.id.myImageButton);
    ib.setMaxHeight(ib.getWidth());

    //the rest of your onCreate method...
}
于 2013-08-31T16:55:12.697 に答える
0

これを追加:

   android:adjustViewBounds="true"

ImageButton

そしてmaxHeightimageButton

  android:maxHeight = "yourValue"
于 2013-08-31T16:51:59.390 に答える