2011-10-27 23 views
1

私はアンドロイド開発には新しく、私はそれが私が望むように私のレイアウトを得るいくつかの問題を抱えてきました。 基本的には、ラベル付きの画像を含む4つのサイドスクロールビューが必要です。実行時まで画像の数は分かりません。サイドスクロールビューをさまざまなサイズにスケーラブルにしたいと思っています。Horizo​​ntalScrollView内のScaling ImageView

は今、私が持っている設定は、次のようになります。 Main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#fff" android:id="@+id/build"> 
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_weight="1" 
    android:layout_height="0dp" android:background="#ddd" android:id="@+id/ahsv" /> 
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_weight="1" 
    android:layout_height="0dp" android:background="#ddd" android:id="@+id/ihsv" /> 
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_weight="2" 
    android:layout_height="0dp" android:background="#ddd" android:id="@+id/mhsv" /> 
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_weight="3" 
    android:layout_height="0dp" android:background="#ddd" android:id="@+id/rhsv" /> 

viewitem.xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" android:layout_height="fill_parent" 
android:background="#fff"> 

<ImageView android:id="@+id/image" android:layout_height="fill_parent" 
    android:layout_width="fill_parent" android:scaleType="center" /> 

<TextView android:id="@+id/title" android:layout_width="fill_parent" 
    android:layout_height="wrap_content" android:textColor="#000" 
    android:layout_gravity="center_horizontal|bottom" /> 

もありますHorizo​​ntalScrollViewsの内部に入るLinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" android:layout_width="fill_parent" 
android:layout_height="fill_parent" android:background="#fff" 
android:id="@+id/horizll"/> 

この時点で、私のコードは、ちょうどLayoutInflatorを使用して、これらのviewitemsの束をインスタンス化し、それはHorizo​​ntalScrollViewに膨張して、コメントを追加して、のLinearLayout(horizll)に追加します。 (これはすべてonCreate()で行われます)

コードはほぼ意図どおりに動作します。私は4つのサイドスクロールリストに、その重みに対応した高さを持っています。ただし、これらの内部の画像は、デフォルトのサイズで固定されています。つまり、Horizo​​ntalScrollViewの高さでスケーリングされていません。

私は間違っていますか?ヘルプ

答えて

1

私は結局それを理解しました。私はSOにもっと多くのことを見て終了し、using ViewTreeObserverに関する質問を見つけました。適切なVTOを設定した後、FrameLayoutの最小幅と高さを指定することができました。ちょっとハッキリですが、それは仕事を終わらせます。

+0

最小幅と高さで動作するようにはできませんでしたが、ImageViewでsetLayoutParams()を使用してくれました。 – richy

0

を事前に

おかげでImageViewの中scaleTypeを指定してみてください。たとえば、

android:scaleType="fitXY" 

は、ImageViewの境界まで小さな画像を拡大します。また、アスペクト比を維持するには、

を指定する必要があります。

+0

あなたが提案したことをした後、今度は画像をテキストの幅に伸ばします。返信ありがとう –

関連する問題