布局未按要求正确显示

时间:2014-06-23 11:53:05

标签: android android-layout layout

enter image description here

请参阅随附的屏幕截图,我正在使用Google Maps Version2显示图像弹出窗口

我正在寻找弹出窗口中的三个小变化,这些变化是:

  1. 想要在完整的背景上显示图像,就像我的图片仅覆盖50%的标记区域一样

  2. 也想覆盖标记的白色区域(角落处的白色)

  3. 如果我想在角落显示黑色阴影怎么办

  4. popup.xml: -

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/background_dark"
        android:orientation="horizontal">
    
        <ImageView
            android:id="@+id/icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher"
            android:background="@null"
            android:adjustViewBounds="true"
            android:contentDescription="@string/icon"/>
    
            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:maxLines="1"        
                android:textColor="@android:color/background_light"
                android:layout_marginTop="5dp"
                android:textSize="18sp"
                android:typeface="sans"
                android:textStyle="bold"/>
    
            <TextView
                android:id="@+id/snippet"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/title"
                android:typeface="sans"
                android:textStyle="bold"
                android:textSize="18sp"
                android:maxLines="1"
                android:textColor="@android:color/background_light" />
    
    </RelativeLayout>
    

    我认为我必须使用更宽的图像作为标记的背景仍然使用this,我担心这些白角(我不想看到它)

4 个答案:

答案 0 :(得分:2)

将RelativeLayout和ImageView中的四个“wrap_content”更改为“Match_parent”。 但是,图像视图可能看起来很拉伸,因此您应该考虑使用更宽的图像。

答案 1 :(得分:2)

ImageView 替换为此(将wrap_content更改为match_parent

 <ImageView
    android:id="@+id/icon"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_launcher"
    android:background="@null"
    android:contentDescription="@string/icon"/> 

......休息xml代码

答案 2 :(得分:1)

     <ImageView
        android:id="@+id/icon"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"
        android:background="@null"
        android:scaleType="fitxy"
        android:contentDescription="@string/icon"/>

答案 3 :(得分:1)

请尝试这种方式,希望这有助于您解决问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:background="@drawable/background"> // Here set your custom pop window background with with and black shadow

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="@drawable/ic_launcher"> // Here set your place image
        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:maxLines="1"
            android:textColor="@android:color/background_light"
            android:layout_marginTop="5dp"
            android:textSize="18sp"
            android:typeface="sans"
            android:text="Great Hotel - A Luxury Sun"
            android:textStyle="bold"/>

        <TextView
            android:id="@+id/snippet"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:typeface="sans"
            android:textStyle="bold"
            android:textSize="18sp"
            android:maxLines="1"
            android:layout_marginTop="10dp"
            android:text="$359"
            android:textColor="@android:color/background_light" />
    </LinearLayout>

</LinearLayout>