0

これはボタンの私のコードです。つまり、すべてのデバイスで同じサイズです。小さいものは大きく、大きいものは小さい。サイズを相対的に変更するにはどうすればよいですか?これが私のコードです。

<Button
        android:id="@+id/button1"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_margin="3dp"
        android:background="@drawable/blue_gradient"
        android:layout_alignRight="@+id/relativeLayout1"
        android:layout_alignTop="@+id/relativeLayout1"/>

デバイスの解像度に応じて、サイズを一定にしたいと思います。

編集 ボタンを正方形にしたい。

4

3 に答える 3

1

幅と高さをdp、つまり密度に依存しないピクセルで指定しています。ピクセル密度はデバイスによって異なるため、この測定単位は、ピクセル密度に関係なく、すべてのデバイスで同じ物理サイズを生成するように設計されています。layout_widthおよびに次のいずれかの値を使用することもできますlayout_height

  • wrap_contentビューをコンテンツを保持するのに十分な大きさにします。
  • match_parent親ビューの対応する寸法(幅または高さ)を使用します。

また、これらのいずれでも、典型的なボックスモデルのように、パディングとマージンを指定できます。

Androidは現在、幅を使用可能な幅の60%にするなど、パーセンテージスタイルの測定をサポートしていません。これに最も近いのは、を使用し、その子ビューの値をLinearLayout指定することです。layout_weight

ビューのサイズをより細かく制御したい場合は、ビューをサブクラス化してメソッドをオーバーライドできます。このonMeasureメソッドでは、ビューのサイズを計算し、を呼び出してその幅と高さを設定しsetMeasuredDimension(w, h)ます。これはまさにそれをしている誰かの例です:https ://stackoverflow.com/a/3147157/1207921

于 2012-12-02T07:48:45.110 に答える
0

最良の方法は使用することです

android:layout_width="wrap_content" android:layout_height="wrap_content"

すべてのデバイスのサイズを非常にうまく管理します。

正方形のボタンの場合、コードで幅/高さを設定する必要があります。これはあなたを助けます。

于 2012-12-02T07:37:04.087 に答える
0

画面の解像度に応じてサイズの異なる画像ボタンを使用してみてください(Android、(初心者)さま​​ざまな解像度の画像ボタン)。

android:weightSum = "2.0"でLinearLayoutを使用し、android:layout_weight = "1"ですべての画像ボタンを設定すると、LinearLayoutの向きに応じて幅/高さがLinearLayoutの正確に50%になります。

于 2013-02-01T14:53:00.260 に答える