10

ディスプレイの上部に次のような ImageView があります。

╔══════════════════════════════════════════════╗
║ ImageView    ╔══════════════╗                ║
║              ║              ║                ║
║              ║ Actual image ║                ║
║              ║              ║                ║
║              ║              ║                ║
║              ║              ║                ║
║              ╚══════════════╝                ║
╚══════════════════════════════════════════════╝

この下には、一連のボタンと TextView があります。

画面の最大高さに応じて、ImageView の高さを動的に増加させたいと考えています。ボタンを含むレイアウトを画面の端の下部に配置しています。残りの画面は上記の ImageView で占められるようにしたいと思います。

また、ImageView には中央に配置された画像が含まれているため、画面が小さすぎて画像ビューと下のボタンを表示できない場合は、最小の高さとスクロールバーも設定したいと思います。

ありがとう!

これは可能ですか?

4

2 に答える 2

5

を使用すれば、最初の部分はかなり簡単なはずですandroid:layout_width。ImageView (またはそのコンテナー) のみに layout_width を設定すると、親レイアウトを可能な限り多く占有するように拡張されます。たとえば、ImageView が画面の残り全体を占めるレイアウトが必要な場合は、次のようにします。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ImageView android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:src="@drawable/icon"
        android:scaleType="fitCenter" android:layout_weight="1" />
    <LinearLayout android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <!-- Put whatever you want in here -->
    </LinearLayout>
</LinearLayout>

この例では、画面全体を占めるように画像を拡大していますが、「画像が画面に対して大きすぎてスクロールが必要な場合はどうすればよいですか?」という問題もあります。その場合は、レイアウトに ScrollView を追加するだけです。画像が縦に高すぎる場合、画面は自動的にスクロールします。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:fillViewport="true">
    <LinearLayout android:orientation="vertical"
        android:layout_width="fill_parent" android:layout_height="fill_parent">
        <ImageView android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:src="@drawable/huge"
            android:scaleType="fitCenter" android:layout_weight="1" />
        <LinearLayout android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <!-- Insert your content here -->
        </LinearLayout>
    </LinearLayout>
</ScrollView>

注意すべき重要な点の 1 つはandroid:fillViewport、ScrollView で true に設定していない場合、小さすぎる ImageView が画面全体に表示されないことです。

于 2010-05-25T20:29:28.450 に答える
0

あなたが探している答えはまったくありませんが、相対レイアウトのスクロールビューとクラスの動的コーディングを組み合わせることで間違いなく可能です。現時点ではプログラミング用コンピューターの近くにはありませんが、あいまいな答えは「可能ですか? はい!」です。:)

于 2010-05-25T19:39:08.080 に答える