【问题标题】:Unwanted space between two ImageView on androidandroid上两个ImageView之间不需要的空间
【发布时间】:2011-06-28 23:31:12
【问题描述】:

我使用此布局将两个 ImageView 并排放置,但两个图像似乎被 1 个透明像素空间隔开。
蓝色背景是为了更容易观察问题...

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#0000FF">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_marginTop="5dip">
        <ImageView
            android:src="@drawable/i_position_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView
            android:src="@drawable/i_position_seekbar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</LinearLayout>

.java 是:

public class MainActivity extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.main);

    }
}


我正在使用带有 android 2.2 的设备。
我无法在 2.1-update1 模拟器上重现故障,也无法在 1.6 模拟器上重现...
我检查了图像,它们周围没有多余的像素。
我还尝试在图像上分别添加一个红色的 1px 宽度边框,但故障仍然存在,所以图像似乎不是问题。

这些是有问题的图像(此处正确显示):
http://dl.dropbox.com/u/7024937/i_position_icon.png
http://dl.dropbox.com/u/7024937/i_position_seekbar.png


这就是我在我的设备中看到的:


谢谢。

【问题讨论】:

  • 请告诉我们您的 SDK 版本。
  • 我使用的是 android 2.2 的设备。我无法在 2.1-update1 模拟器上重现故障,也无法在 1.6 模拟器上重现。

标签: android imageview padding margin android-linearlayout


【解决方案1】:

奇怪,你的目标是什么版本的SDK?我复制了您的布局和代码,并使用 api 级别 3 (1.5) 创建了一个新项目,并在 1.5 和 2.2 模拟器上对其进行了测试。两者都可以正常工作,没有任何间距。

【讨论】:

  • 我使用的是 android 2.2 的设备。和你一样,我无法在 2.1-update1 模拟器上重现故障,也无法在 1.6 模拟器上重现。
【解决方案2】:

听起来很奇怪,因为我在我的项目中使用了相同的技术,而且一切似乎都很好。您是否将可绘制对象放入正确的可绘制文件夹中。我的意思是如果你的设备有 hdpi 屏幕,你应该把你的图像放在 drawable-hdpi 文件夹中。对不起,但这是我脑海中唯一的想法。

【讨论】:

  • 谢谢,但是资源已经在 drawable-hdpi 中了。我在 Galaxy i900b 上开发。您是否尝试过我上传到 Dropbox 的图片?因为我没有其他图像的问题...
  • 我刚刚对问题进行了排序。使较大的图像在其左侧长 1 个像素。它真的很烦人,因为我仍然不知道为什么会这样。现在,当手机可以显示 480px 而不拉伸时,这两个图像的总和为 457px。我会尝试在另一台设备上测试代码。
  • 我刚刚在我拥有的所有设备和模拟器上都试过了,没有发现任何问题。
  • 刚刚发现问题。似乎netbeans在重建后拒绝真正“清理”项目。手动删除 build 和 dist 文件夹的内容解决了这个问题。非常感谢!使这成为问题的公认答案,呵呵。
猜你喜欢
  • 2021-02-22
  • 2016-02-29
  • 1970-01-01
  • 1970-01-01
  • 2017-10-21
  • 1970-01-01
  • 2013-08-30
  • 1970-01-01
  • 2017-10-23
相关资源
最近更新 更多