Android布局 - 占用额外空间的图像

时间:2011-11-22 10:52:56

标签: android image layout

我已将图像添加到我的xml文件中。这是我正在使用的代码:

<?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" >

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/topbar_logo2x"
        android:scaleType="fitStart" />

    <TabHost
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >

            <View
                android:layout_width="fill_parent"
                android:layout_height="0.5dip"
                android:background="#000" />

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="0dip"
                android:layout_marginRight="0dip" />

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" />
        </LinearLayout>
    </TabHost>
</LinearLayout>

我希望我的TabHost完全位于我的图像之上。当我在StackOverflow中检查了一些答案时,我得到了一个声明使用

的答案
android:scaleType="fitStart"

我想在同一个ImageView上使用android:scaleType="fitStart"android:scaleType="fitEnd"这是不可能的,因为Sndroid只允许scaleType的一个声明。如何通过代码更改获得相同的效果?还有其他一些命令可以帮助我吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

在我看来,较大的黑线必须来自图像(topbar_logo2x)或它缩放到ImageView的方式。尝试使用scaleType="fitXY"查看上面的黑线是否消失。如果没有,请发布图片供我们查看。

对我来说,View以下LinearLayout会导致较小的黑线。删除它。