0

UIを.xmlで作成しましたが、ボタンの方向を動的に指定したいと思います。例えば;

 <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <Button 
         android:id="@+id/backbutton"
         android:text="TEST123"
         android:layout_x="120px"
         android:layout_y="120px"
         android:layout_width="100px"
         android:layout_height="100px" />
    </AbsoluteLayout>

それから、私の活動クラスは、そのように動的に何かを変更しました。

    AbsoluteLayout al = new AbsoluteLayout(this);
    Button t = new Button(this);
    t.setHeight(300);
    t.setWidth(300);
    t.setText("TEST123");
    // x y ???
    setContentView(al);

高さと幅を変更しましたが、x方向とy方向を変更する方法が見つかりませんでした。

4

2 に答える 2

1

setPadding(int top,int left,int right,int bottom)メソッドを試してください。

AbsoluteLayout al = new AbsoluteLayout(this);
    Button t = new Button(this);
    t.setHeight(300);
    t.setWidth(300);
    t.setText("TEST123");
    t.setPadding(120,120,0,0);
    setContentView(al);

画面の他の要素がどのように適合しているかはわかりませんが、画面にある要素はボタンだけだと思いました。

于 2011-05-09T20:30:01.217 に答える
0

ちなみに、1 dip =何ピクセルか知っていますか?

http://developer.android.com/guide/practices/screens_support.htmlから:

密度に依存しないピクセル(dp)-アプリケーションがUIを定義する際に使用できる仮想ピクセル単位で、密度に依存しない方法でレイアウトの寸法や位置を表現します。

密度に依存しないピクセルは、160 dpi画面の1つの物理ピクセルに相当します。これは、プラットフォームが想定するベースライン密度です(このドキュメントで後述します)。実行時に、プラットフォームは、使用中の画面の実際の密度に基づいて、必要なdpユニットのスケーリングを透過的に処理します。dp単位から画面ピクセルへの変換は簡単です:ピクセル= dps *(密度/ 160)。たとえば、240 dpiの画面では、1dpは1.5物理ピクセルに相当します。さまざまな画面でUIを適切に表示する方法として、dpユニットを使用してアプリケーションのUIを定義することを強くお勧めします。

于 2011-05-09T21:09:10.510 に答える