web-dev-qa-db-ja.com

Androidレイアウト-ImageViewの配置の問題

LinearLayoutの左上に画像を配置しようとしていますが、画像の境界とパディングがウィンドウの幅全体を占めています。

以下のXMLを試すと、ページの幅全体に白い境界線と背景が付いた画像が得られます。except中央、左に移動しません。

<ImageView
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:layout_gravity="left"
    Android:src="@drawable/banner"
    Android:background="@Android:color/white"
    Android:padding="@dimen/d_8px"
/>

ImageView内で画像を強制的に左揃えにする属性をまだ発見していないが、layout_width に設定されています fill_parent

それまでは、ImageViewを別のLinearLayoutの内側にドロップし、残りの水平スペースを占める空のTextViewを右側にドロップすることで、この問題を回避しました。

40
Alnitak

私は同様の問題を抱えていましたが、今日早くあなたはそれに答えました。これは、XMLエディターと並行してEclipseプラグインによって提供される「スクリーンデザイン」ビューアー上にありますか、それとも実際にアプリを実行するときにアライメントの問題に直面していますか?前者の場合はプラグインのバグであると思われ、後者の場合は追加してみてください:

Android:scaleType="fitStart"

私が読んだドキュメントから、それはあなたが必要とするものに最も近いようです。

121
executor21

次のようなものを使用して、レイアウトXMLファイルでImageViewを構成するだけです。

                            <ImageView Android:id="@+id/imageViewName" 
                            Android:layout_width="90dp" 
                            Android:layout_height="90dp" 
                            Android:scaleType="fitStart" 
                            Android:adjustViewBounds="true" 
                            Android:padding="10dp" 
                            Android:src="@drawable/ic_contact_picture"
                            Android:background="@color/white" />
8
Oscar S.