0

Androidでさまざまな画面解像度の固定位置にコントロールを表示するにはどうすればよいですか?

私は以下のような画面デザインを持っています

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:gravity="center_horizontal"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical"
   android:background="@drawable/img_background_loadbackground">
<TableRow>
<TextView
   android:id="@+id/tv1"
   android:layout_width="fill_parent" 
   android:layout_height="300sp"/>
</TableRow>

<TableRow>
</TableRow>
<ProgressBar 
   android:id="@+id/progressbar" 
   style="?android:attr/progressBarStyleHorizontal" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" />
</TableLayout>

HVGA(320x480)解像度で動作しており、プログレスバーが画面の下部に表示されますが、他の解像度(WQVGA432-240x432)で実行すると、プログレスバーが画面の中央に表示されます。固定位置で表示できません。

以下に示すマニフェストファイルを使用していますが、出力がありません

<supports-screens android:smallScreens="true"  
                android:normalScreens="true" 
                android:largeScreens="true"  
                android:anyDensity="true" />

解決策がないので、問題を解決するためのアイデアを教えてください。

4

3 に答える 3

1

dipレイアウトをさまざまな解像度の画面で機能させる場合は、単位として使用してサイズを変更する必要があります。例えば:

android:layout_marginRight="10dip"

dipDevice Independent Pixelの略で、レイアウトでこれらを使用すると、Androidは、アプリケーションを実行しているデバイスのディスプレイに応じて、レイアウトを自動的に拡大縮小します。

これらについては、Androidデベロッパードキュメントの「複数の画面のサポート」ページで読むことができます。dipこのドキュメントには、さまざまなディスプレイを処理するための他のオプションもいくつかありますが、おそらく使用するのが最も簡単だと思います。

于 2009-12-22T15:12:29.767 に答える
0

レイアウトをどのように定義したかによって異なります。レイアウトXMLを投稿すると、ここで役立ちます。

于 2009-12-22T14:22:33.817 に答える
0

真ん中に次のようなものがあると思います。

android:layout_gravity="center"

しかし、ええ、あなたのXMLを投稿することは少し助けになるでしょう!

于 2009-12-22T14:25:10.037 に答える