7

オーバーレイ (ImageView) を追加して、含まれているレイアウトの左境界の左に少しシフトする必要があります。

ここに画像の説明を入力

これを行う最善の方法は何ですか?

ImageView をレイアウト内に配置して負のマージンを使用するなど、簡単なことを試しました

android:layout_marginLeft="-20dip"

これにより、次のようになりました。

ここに画像の説明を入力

(訂正: 画像内のテキストは 20px ではなく 20dip にする必要があります)

AbsoluteLayout は非推奨です。zオーダーのようなものはありますか?または、私は何をしますか?

前もって感謝します。

編集:代わりに相対レイアウトを使用してみました。同じ効果。最小限に縮小された xml は次のとおりです。

<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
android:paddingLeft="50dip"
>

<ImageView
    android:id="@+id/myId"
    android:layout_width="60dip"
    android:layout_height="60dip"
    android:layout_marginLeft="-30dip"
    android:clipChildren="false"
    android:src="@drawable/pic" />

</RelativeLayout>

結果 ここに画像の説明を入力

含まれているレイアウトに、パディングではなく画面より小さい背景画像がある場合にも発生します。

4

4 に答える 4

14

LinearLayoutの代わりにRelativeLayoutを使用して(オーバーラップを可能にするため)、これをRelativeLayoutに追加すると、次のように修正されました。

android:clipToPadding="false"
于 2012-04-22T07:20:09.957 に答える
1

xmlで「android:clipChildren = false」を設定します

于 2012-04-22T06:38:12.187 に答える
1

それ以外の

android:layout_marginLeft="-30dip"

試してみてください

android:paddingLeft="-30dp"

于 2015-12-31T11:14:24.553 に答える
0

幅 = 30 dp の線形レイアウトの左側に透明な (android:background="#00000000") イメージビューを使用します。また、相対レイアウトの場合は、myId を左揃えにします。線形レイアウトを使用している場合は、向きを水平にし、透明なイメージビューをその最初のエントリにします。

于 2015-10-19T14:54:48.583 に答える