2017-05-26 11 views
1

LinearLayoutでは、数字の画像を使用して整数値を表示しようとしています。私は、数字が中央に置かれ、画像がいくつの桁が存在するかに応じて拡大されることを望みます。LinearLayoutを使用して可変数の画像を表示する

2桁と私の初期レイアウト:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
> 

<view 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    /> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:orientation="horizontal" 
    android:gravity="center" 
    > 
    <ImageView 
     app:srcCompat="@drawable/ic_digit_0" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:adjustViewBounds="true" 
     android:layout_weight="1" 
     /> 
    <ImageView 
     app:srcCompat="@drawable/ic_digit_0" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:adjustViewBounds="true" 
     android:layout_weight="1" 
     /> 
</LinearLayout> 

そして、ここではそれがどのように見えるかです。

A)4桁の数字はすべて見栄えがよく、数字は水平に収まり、できるだけ垂直に高くなっています。より多くの桁

4 digits scaled to fit

B)、それはまだ利用可能なスペースにうまくスケール。

many more digits scale nicely

C)のLinearLayout高さが減少する場合には、4つの別々の数字とギャップがそれらの間に現れます。

images have separated

D)各ImageViewのからlayout_weightを除去することにより、4桁が一緒に戻ってきます。

digits come back together

E)しかしのLinearLayout高さを高くすると、数字ビューの完全な高さにスケールと一部が画面から水平に消えます。

digits too large

どのように私はこれらの数字の画像は、利用可能なスペースを埋めるのすべての数字を示し、関係なく、のLinearLayout寸法の、そのスケールの比率を維持しながら、隙間なくセンタリングされるようにサイズを変更することができますか?

ありがとうございました。

+0

あなたはアンドロイドを試しました:scaleType ur要件に応じてそのプロパティを試してください – Pavan

+0

imageviewの固定サイズを与える! scaletype- – xbadal

+0

scaleTypeは機能していないようです。 fitXYは画像を伸ばしたり縮めたりして、比率が変わるようにします。画像サイズを固定するには、桁数によって異なるコード計算が必要です。 –

答えて

0

scaletypeを追加しようとしましたか?

<ImageView android:scaleType="scaleXY" android:src="@drawable/my_image"/> 

https://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType

+0

はscaleXにscaleTypeが存在しますか? https://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType – Pavan

+0

いいえ、その単なる例です。 scaletypesを参照してください:https://developer.android.com/reference/android/widget/ImageView.ScaleType.html –

+0

私はandroid:scaleTypeのさまざまな組み合わせを試しましたが、どれも動作していないようです。 ** fitXY **を使用すると、数字が縮尺通りに伸びます。 –

0

[OK]をクリックします。私は答えを見つけた。 "match_parent" を "wrap_content" からlayout_width =:

は、第二 のLinearLayoutについては、 アンドロイドを変更します。次に、android:layout_gravity = "center"を追加します。これにより、小さい方の高さで数字が縮小されると、LinearLayoutの内容に縮小されます。それが収縮すると、ビューを含むビューにも集中します。

入力いただきありがとうございます。