【问题标题】:different layout between what appear on emulator and what on xml模拟器上显示的内容和 xml 上显示的内容之间的不同布局
【发布时间】:2013-12-28 14:07:28
【问题描述】:

我正在开发一个安卓应用程序

我设计我的 xml 就是这样

但是,当我在模拟器上运行应用程序时,我得到了这个结果

请注意红色圆圈。为什么这两者之间存在差异?

我的英语不好,如果你听不懂,请告诉我

这是xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <ImageView
                android:id="@+id/iv_logo"
                android:layout_width="150sp"
                android:layout_height="150sp"
                android:background="@drawable/roma_logo" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/iv_logo"
                android:paddingLeft="10sp"
                android:paddingTop="10sp"
                android:text="@string/action_settings"
                android:textColor="#000000"
                android:textSize="20sp" />

            <Button
                android:id="@+id/b_subscribe"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/iv_logo"
                android:layout_alignParentRight="true"
                android:text="@string/action_settings" />
        </RelativeLayout>

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="@dimen/activity_vertical_margin"
            android:src="@drawable/boarder" />

        <HorizontalScrollView
            android:id="@+id/hsv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fillViewport="true"
            android:measureAllChildren="false"
            android:scrollbars="none" >

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageView
                    android:layout_width="200sp"
                    android:layout_height="289sp"
                    android:paddingRight="@dimen/activity_horizontal_margin"
                    android:src="@drawable/roma1" />

                <ImageView
                    android:layout_width="200sp"
                    android:layout_height="289sp"
                    android:paddingRight="@dimen/activity_horizontal_margin"
                    android:src="@drawable/roma2" />

                <ImageView
                    android:layout_width="200sp"
                    android:layout_height="289sp"
                    android:paddingRight="@dimen/activity_horizontal_margin"
                    android:src="@drawable/roma3" />
            </LinearLayout>
        </HorizontalScrollView>

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

            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:contentDescription="@string/border_thin"
                android:paddingBottom="@dimen/activity_vertical_margin"
                android:src="@drawable/boarder_thin" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center|left"
                android:paddingLeft="@dimen/activity_horizontal_margin"
                android:text="@string/date_of_establishment"
                android:textColor="#da1337"
                android:textSize="20sp"
                android:textStyle="italic" />

            <TextView
                android:id="@+id/tv_date_of_establishment"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="@dimen/activity_horizontal_margin"
                android:text="1999"
                android:textColor="#000100"
                android:textSize="15sp" />

            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:contentDescription="@string/border_thin"
                android:paddingTop="@dimen/activity_vertical_margin"
                android:src="@drawable/boarder_thin" />
        </LinearLayout>
    </LinearLayout>

</ScrollView>

错误发生在 imageview 女巫的 drawable 称为 boarderboarder_thin

【问题讨论】:

  • 我不确定但使用 dp 而不是 sp 来表示宽度、高度和填充。试一试。
  • px 是一个像素。 sp 是与尺度无关的像素。 dip 是与密度无关的像素。您将使用 sp 字体大小 dip 用于其他所有内容。浸==dp
  • @TabrejKhan 我应该在哪里使用 dp?请问我的问题中 dp 是怎么回事?
  • 详情请参考thisthis
  • @TabrejKhan 我的朋友,我在 imagviews 中没有任何填充。但是,我厌倦了您的解决方案,但仍然是同样的问题

标签: android android-layout android-emulator android-xml


【解决方案1】:

可能图像小于显示宽度。

android:scaleType="fitXY" 添加到 ImageView 以对其进行缩放

android:src="@drawable/boarder"改为android:background="@drawable/boarder"也可以达到同样的效果

背景可绘制对象始终适合视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多