1

わかりました、私はこれについて多くの章を読みましたが、それでもこのプロジェクトで何をするのが最善かわかりません.

これが私がプロジェクトを持っている状況です[大きなもの:)]、このプロジェクトでは、480 x 800ピクセルの解像度の画面に対してすべてが行われます。

これが新しい要件です:)。彼らは、解像度が 240 x 320 ピクセルのデバイスをサポートするよう求めています (この解像度はレイアウト小)。これまでのところ良い:)、しかし問題は、240x320の解像度が小さすぎて、レイアウト法線のスケーリングだけではコンポーネントに収まらないことです。画面が小さい携帯電話用に、まったく新しいデザインが必要です。

これは、layout/main.xml に R.id.textview1 というテキスト ファイルがあった場合、現在は layout-small/main.xml に R.id.textview1 はありませんが、R.id と言うコンポーネントが 2 つあることを意味します。 .button1 と R.id.textviewsmall ... 私の要点は、このようなコードはレイアウト/メイン.xml では機能しないということです。

((TextView)findViewbyId(R.id.textview1)).setText("something");

もちろん、これは私が説明したことは非常にばかげたシナリオであり、非常に複雑なことがありますが、私が達成したいことを理解していただければ幸いです。

問題は、フラグメントを実装するには遅すぎるということです。だから私はこれをどのように行うべきか、いくつかのガイドラインが必要です...

アイデアやデザインガイドラインがあれば、とても助かります。ありがとう...

4

2 に答える 2

2

はい、このようにすることができます。多くのアプリケーションでは、このようなタイプのレイアウトを必要に応じて手動で設定できます。

そのためには、最初にプログラムで画面の高さと幅を取得する必要があります。手に入れたら今一度。画面の高さと幅などの条件をJavaファイルで作成できます。次に、これを行います。

あなたが私のポイントを得たことを願っています。

または

XML でレイアウトを設定する場合は、次のように別のレイアウト XML を作成します。

res/layout/my_layout.xml             // layout for normal screen size("default")        res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

その後、特定のレイアウトの高さと幅を手動で設定できます。それがあなたの問題の解決策になることを願っています。

それでもあなたの解決策でない場合は、お知らせください。. .

楽しみ。:)

于 2012-01-27T09:15:17.990 に答える
1

考えられる方法の 1 つは、小さな画面用のレイアウトを作成し、ウェイト属性を指定することです。これにより、大きな画面でも自動的に調整されます。異なる密度の画像も使用する場合、ほとんどの場合、おそらくうまくいくでしょう。レイアウト内でウェイトを指定する方法は次のとおりです。

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
 <TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="small"
android:layout_weight="0.2"
android:background="#123" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:text="huge"
android:background="#456"
 />
</LinearLayout>
于 2012-10-26T16:15:08.510 に答える