我有这个图像(@drawable/engines_bg
),作为我的水平滚动视图:
你可以看到三角形正好在中间。
然而,当我运行我的Activity时,三角形向左关闭:
(如果你用滚筒测量)
怎么可能?
我已经检查过,代码中没有重新定位。
这是我的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)箭头是strathed
3)我在两个文件夹中说原始9.png。我怎么知道我的设备与哪一个有关?
答案 0 :(得分:0)
你的九个补丁图像太大而无法由ScrollView
处理,所以箭头不会进入你想要它的中间。因此,通过简单地从箭头的左侧和右侧取出两个相等的块并添加拉伸点(应该相等),使九个补丁图像的宽度变小(这将是九个补丁与常规图像的优点之一)所以图像按比例拉伸。)
这是我的尝试(应该保存为the_image_etc.9.png
):
如果你错过某处的透明度,可能是因为我保存了这个错误,但获取图像的一般方法是在上面。
我将原始9.png保存在两个文件夹中。我怎么知道我的哪一个 设备涉及?
当使用九个补丁时,您需要为每个密度可绘制文件夹设置一个版本(因此图像本身不会使用另一个密度文件夹中的图像调整大小),您不需要版本对于不同尺寸的屏幕(这是九个补丁的优点,他们通过扩展自己来解决尺寸问题)。