急求!!android中点击一张图片,图片周围出现像进度条那样的边框,直到整个图片都被边框包围。PS:这个边框是个给定的图片。哪位知道怎么写麻烦告诉一下啊,这个问题很急,谢谢啊

决定的温度 发布于 2013/08/05 14:32
阅读 652
收藏 3
加载中
0
kenping
kenping

一个比较笨一点的方法(level-list)我这里只做了4个图,你可以做更多

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@android :color/transparent"
        android:maxLevel="0"/>
    <item
        android:drawable="@drawable/border25"
        android:maxLevel="25"/>
    <item
        android:drawable="@drawable/border50"
        android:maxLevel="50"/>
    <item
        android:drawable="@drawable/border75"
        android:maxLevel="75"/>
    <item
        android:drawable="@drawable/border99"
        android:maxLevel="100"/>
</level-list>

然后把这个xml作为ImageView的src,然后ImageView.setImageLevel(level),这里你可以用Handler设置一定的延时(达到定时器的效果)不停的递增level值并调用setImageLevel()效果就出来了。类似手机电池电量那个指示图片

kenping
kenping
回复 @决定的温度 : 看后面,简单评论字数不够,:)
决定的温度
决定的温度
。。额,那个handle延迟期应该怎么写?那个maxLevel是不是就是说当Level增长到maxLevel才完整的显示出这个maxLevel对应的图片?
决定的温度
决定的温度
恩,我准备做8张图片,看效果会不会好些。谢谢你啊
0
kenping
kenping

API文档里面的

<!-- Animation frames are wheel0.png -- wheel5.png files inside the
 res/drawable/ folder -->
 <animation-list android:id="@+id/selected" android:oneshot="false">
    <item android:drawable="@drawable/wheel0" android:duration="50" />
    <item android:drawable="@drawable/wheel1" android:duration="50" />
    <item android:drawable="@drawable/wheel2" android:duration="50" />
    <item android:drawable="@drawable/wheel3" android:duration="50" />
    <item android:drawable="@drawable/wheel4" android:duration="50" />
    <item android:drawable="@drawable/wheel5" android:duration="50" />
 </animation-list>

Here is the code to load and play this animation.

 // Load the ImageView that will host the animation and
 // set its background to our AnimationDrawable XML resource.
 ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
 img.setBackgroundResource(R.drawable.spin_animation);

 // Get the background, which has been compiled to an AnimationDrawable object.
 AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

 // Start the animation (looped playback by default).
 frameAnimation.start();

决定的温度
决定的温度
哈哈,我终于用AnimationDrawable实现了,谢谢啊。不过在用list-level写的时候那个handler写的总是不对,能不能麻烦写具体点?
0
kenping
kenping
handler.sendEmptyMessage(MSG_NEXT_LEVEL);


.....

if ( msg.what()==MSG_NEXT_LEVEL )
{
    mLevel += 10;
    img.setImageLevel(mLevel);
    handler.sendEmptyMessageDelayed(MSG_NEXT_LEVEL, 100);
}

0
步行者传说
步行者传说

可以使用AnimationDrawable,就是一組圖片形成的動畫,也可以在xml裡配

0
fneg
fneg
自定义一个View继承字ImageView
0
白学原
白学原
又开源的库可以用的
决定的温度
决定的温度
回复 @白学原 : 恩,我已经看过那个方法了。谢谢你啊
白学原
白学原
回复 @决定的温度 : 不好意思,最近出差,没上oschina,就是楼下说的SquareProgressBar https://github.com/mrwonderman/android-square-progressbar
决定的温度
决定的温度
请问库的详细点的介绍有吗?
0
马天飞
马天飞
可以在这个view后面画一个view,draw方法对应画边框就行,其实不一定是边框,后面的在边缘画view
决定的温度
决定的温度
我这个主要动态的加边框,而且边框图片是给定的。请问你说的这个也是动态的吗
返回顶部
顶部