我想实现类似如下的内容: Android - 在Android中制作可重复图像的一部分?
注意的图像图案的三角形的右侧如何重复,直至碰到屏幕边缘。此外,三角形实际上不会是三角形(即图像不会是简单的形状),所以请注意这一点。 我对Android非常陌生,并且知道在iOS中可以设置图像的一部分进行重复。我不确定这是否也是如此,以及如果是这样如何?如果不是,那么推荐的方法是什么?
我想实现类似如下的内容: Android - 在Android中制作可重复图像的一部分?
注意的图像图案的三角形的右侧如何重复,直至碰到屏幕边缘。此外,三角形实际上不会是三角形(即图像不会是简单的形状),所以请注意这一点。 我对Android非常陌生,并且知道在iOS中可以设置图像的一部分进行重复。我不确定这是否也是如此,以及如果是这样如何?如果不是,那么推荐的方法是什么?
要重复一个图像,你可以为这个位图设置TileMode。要在您的情况下将其移动到右侧,你可以定义层列表绘制,并给其项目左属性:
tile_background.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap android:src="@drawable/tile_start" android:gravity="left|bottom"/>
</item>
<item android:left="60px">
<bitmap android:src="@drawable/tile" android:tileMode="repeat"/>
</item>
</layer-list>
只是一些布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<View
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_height="26dp"
android:background="@drawable/tiled_background" />
</LinearLayout>
如果我理解正确的话,你可能想看看NinePatch图像http://developer.android.com/reference/android/graphics/NinePatch.html
九个补丁图像是在这个意义上的“智能”,他们能有一定的界限,可以被拉伸并在必要时重复进行。这里有一个快速的工具,可以给你一个更好的想法,http://romannurik.github.io/AndroidAssetStudio/nine-patches.html
谢谢,我相信你已经把我放在了正确的方向。这里有两个链接详细描述事情: 简单概述: http://wiresareobsolete.com/2010/06/9-patches/ 具体信息: http://developer-dot-android.blogspot.com/2012 /03/android-9-patch-image-tutorial.html – TomTaila 2014-10-29 14:14:28
谢谢,我认为这将适用于更简单的形状,但我的图像稍微复杂一些 - 9补丁方法可能是帕蒂P如上所述的方式。查看我在他的帖子下的评论以了解更多细节。 – TomTaila 2014-10-29 14:18:51
我知道什么Draw-9补丁是;-)但它们用于定义一个可以被拉伸的部分,而不是重复恐惧(可梯度或可调节的按钮)。你可以举一个更具体的例子来说明你试图获得什么。 – blender 2014-10-29 14:25:07
你是绝对正确的,谢谢你的方法,事实上这有助于9补丁无法处理的更复杂的解决方案。对于我的情况9补丁足够,但为了灵活性,这个答案是完美的。谢谢! – TomTaila 2014-10-29 14:41:04