0

我有这个图像(@drawable/engines_bg),作为我的水平滚动视图: 在此处输入图像描述

你可以看到三角形正好在中间。

但是,当我运行我的活动时,三角形向左闭合:

(如果你用滚筒测量)

在此处输入图像描述

怎么会这样?

我已经检查过,代码中没有重新定位。

这是我的xml:

<com.w.view.title.TitleBar
    android:id="@+id/titleBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<ListView
    android:id="@+id/searchResultsList"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/searchButtonBar"
    android:layout_below="@id/titleBar"
    android:cacheColorHint="#00000000"
    android:divider="@null"
    android:fadingEdge="none"
    android:scrollbars="none" />

<com.w.navigate.SearchButtonsBarHorizontalScrollView
    android:id="@+id/searchButtonBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/engines_bg"
    android:fadingEdge="horizontal"
    android:gravity="center"
    android:padding="0dp"
    android:scrollbars="none" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="horizontal"
        android:paddingTop="25dp" >

        <ImageButton
            android:id="@+id/leftMargin"
            android:layout_width="160dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/search_engine_button"
            android:visibility="invisible" />

        <ImageButton
            android:id="@+id/searchButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/search_engine_button"
            android:onClick="engineClicked" />

        <ImageButton
            android:id="@+id/searchButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/search_engine_button"
            android:onClick="engineClicked" />

      <ImageButton
            android:id="@+id/rightMargin"
            android:layout_width="160dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/search_engine_button"
            android:visibility="invisible" />
    </LinearLayout>
</com.w.navigate.SearchButtonsBarHorizontalScrollView>

<LinearLayout
    android:id="@+id/searchProgressPopup"
    android:layout_width="180dp"
    android:layout_height="140dp"
    android:layout_centerInParent="true"
    android:background="@drawable/semi_transparent_bg"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:visibility="invisible" >

    <com.w.view.map.ProgressAnimation
        android:id="@+id/searchProgressAnimation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/searchProgressText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="5dp"
        android:gravity="center"
        android:textColor="#FFFFFF" />
</LinearLayout>

<ImageView
    android:layout_width="match_parent"
    android:layout_height="6dp"
    android:layout_below="@id/titleBar"
    android:scaleType="fitXY"
    android:src="@drawable/topbar_shadow" />

更新:

我已经尝试过@Brian 的解决方案,但都搞混了:

<com.w.view.title.TitleBar
    android:id="@+id/titleBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<ListView
    android:id="@+id/searchResultsList"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/searchButtonBarWrapper"
    android:layout_below="@id/titleBar"
    android:cacheColorHint="#00000000"
    android:divider="@null"
    android:fadingEdge="none"
    android:scrollbars="none" />

<LinearLayout
    android:id="@+id/searchButtonBarWrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/engines_bg"
    android:orientation="horizontal" >

    <com.w.navigate.SearchButtonsBarHorizontalScrollView
        android:id="@+id/searchButtonBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fadingEdge="horizontal"
        android:gravity="center"
        android:padding="0dp"
        android:scrollbars="none" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="horizontal"
            android:paddingTop="25dp" >

            <ImageButton
                android:id="@+id/leftMargin"
                android:layout_width="160dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/search_engine_button"
                android:visibility="invisible" />

            <ImageButton
                android:id="@+id/searchButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/search_engine_button"
                android:onClick="engineClicked" />

            <ImageButton
                android:id="@+id/searchButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/search_engine_button"
                android:onClick="engineClicked" />

            <ImageButton
                android:id="@+id/searchButton3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/search_engine_button"
                android:onClick="engineClicked" />

            <ImageButton
                android:id="@+id/searchButton4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/search_engine_button"
                android:onClick="engineClicked" />

            <ImageButton
                android:id="@+id/searchButton5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/search_engine_button"
                android:onClick="engineClicked" />

            <ImageButton
                android:id="@+id/rightMargin"
                android:layout_width="160dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/search_engine_button"
                android:visibility="invisible" />
        </LinearLayout>
    </com.w.navigate.SearchButtonsBarHorizontalScrollView>
</LinearLayout>

<LinearLayout
    android:id="@+id/searchProgressPopup"
    android:layout_width="180dp"
    android:layout_height="140dp"
    android:layout_centerInParent="true"
    android:background="@drawable/semi_transparent_bg"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:visibility="invisible" >

    <com.w.view.map.ProgressAnimation
        android:id="@+id/searchProgressAnimation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/searchProgressText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="5dp"
        android:gravity="center"
        android:textColor="#FFFFFF" />
</LinearLayout>

<ImageView
    android:layout_width="match_parent"
    android:layout_height="6dp"
    android:layout_below="@id/titleBar"
    android:scaleType="fitXY"
    android:src="@drawable/topbar_shadow" />

结果:

在此处输入图像描述

Uapdte2:试过 Luksprog 的 9.png

我有两个问题:

1) 1 像素点可见

2) 箭头是拉伸的

3)我将原始 9.png 保存在两个文件夹中。我如何知道我的设备与哪一个相关?

在此处输入图像描述

4

1 回答 1

0

您的九个补丁图像太大而无法由箭头处理,ScrollView因此箭头不会在您想要的中间位置。因此,只需从箭头的左侧和右侧取出两个相等的块并添加拉伸点(应该相等所以图像会按比例拉伸)。

这是我的尝试(应另存为the_image_etc.9.png):

在此处输入图像描述

如果您在某处错过了透明度,可能是因为我保存了错误,但获取图像的一般方法在上面。

我将原始的 9.png 保存在两个文件夹中。我如何知道我的设备与哪一个相关?

使用九个补丁时,您需要为每个密度可绘制文件夹都有一个版本(因此图像本身不会使用另一个密度文件夹中的图像调整大小),您不需要用于不同尺寸屏幕的版本(这就是九个补丁的优点,它们通过扩展自己解决了大小问题)。

于 2013-07-21T04:44:07.397 回答