[解決済み] ImageViewの周囲に不要なパディングがある
質問
すべてのアクティビティ/ビューにヘッダーグラフィックを含める必要があります。ヘッダーを含むファイルは header.xml と呼ばれます。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#0000FF"
android:padding="0dip">
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="0dip"
android:layout_marginTop="0dip"
android:layout_marginBottom="0dip"
android:padding="0dip"
android:paddingTop="0dip"
android:paddingBottom="0dip"
android:layout_gravity="fill"
android:background="#00FF00"
/>
</FrameLayout>
注意
android:background="#00FF00"
(緑)は、視覚化のためです。
こんな感じで、ビューに組み込んでいます。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
style="@style/white_background">
<include layout="@layout/header" />
(...)
そのため、実際に試してみると、本来あるべき姿(右)ではなく、左の画像のような結果になってしまいます。
(1) このオレンジ色の部分が、問題の画像/ImageViewです。
(2) 愛されていない緑の縁取り。注:通常、緑の部分は透明です。
background
.
これはImageViewの一部で、なぜそれがあるのか、どうすればそれを取り除くことができるのかがわかりません。これは、すべてのパディングとマージンを0に設定しています(しかし、それらを省略しても結果は同じです)。画像は480x64pxのjpeg*で、res/drawableに入れました。
drawable-Xdpi
が)。
(* jpeg、昔のpngのガンマ問題に出くわしたようなので。最初は緑の枠を写真と同じオレンジにして問題を回避したのですが、色が合わなかったのです)。
htc desire/2.2/Build 2.33.163.1 とエミュレータで試しました。また、#android-devの誰かにこの問題を説明しました。彼女は問題を再現できましたが、説明もありませんでした。
update @tehgoose: このコードは全く同じtop+bottom paddedの結果を生成します。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
style="@style/white_background">
<!-- <include layout="@layout/header" /> -->
<ImageView
android:src="@drawable/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00FF00"
android:layout_weight="0"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dip"
android:layout_weight="1">
(... rest of the elements)
</LinearLayout>
</LinearLayout>
解決方法は?
ついに
<ImageView
(...)
android:adjustViewBounds="true" />
その adjustViewbounds属性 がうまくいきました。
ImageViewがそのdrawableのアスペクト比を維持するためにその境界を調整したい場合、これをtrueに設定します。
躓いた ここで発見 .ありがとうございました。
関連
-
指定された子にはすでに親がいます。まず、その子の親に対して removeView() をコールする必要があります。
-
Windowsのadbシェルでデータディレクトリにアクセスするとパーミッションが拒否される
-
repo: コマンドが見つかりません
-
ConstraintLayoutのいくつかのプロパティの概要(RelativeLayoutの強化版、LinearLayoutの比例プロパティを含む、階層ツールの削減)。
-
android bluetooth--Bluetooth on、検索、ペアリング、接続
-
Android基本アプレット
-
アンドロイドリストビュー
-
SpinnerのOnItemSelectedListenerのonItemSelectedメソッドの4つのパラメーターの意味
-
超シンプルなアンドロイドのタイムディレイ機能
-
Android TextViewは、テキスト内容が表示省略記号を超えているかどうかを判断する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
Android studioのインストールと問題発生、Emulator: PANIC: AVDのシステムパスが見つかりません。
-
アンドロイドスタジオのエラーを解決する --> Error:(1, 0) id 'com.android.application' を持つプラグインが見つかりません。
-
Error:A problem occurred configuring project ':app'. > ビルドを見つけられませんでした。
-
Windowsのadbシェルでデータディレクトリにアクセスするとパーミッションが拒否される
-
ConstraintLayoutのいくつかのプロパティの概要(RelativeLayoutの強化版、LinearLayoutの比例プロパティを含む、階層ツールの削減)。
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
Android--shape--描画のコーナー、グラデーション、パディング、サイズ、ソリッド、ストロークのプロパティを指定する。
-
AndroidStudioのショートカット 検索/置換
-
Android Studio常见错误之:Rendering Problems/The following classes could not be instantiated