【问题标题】:SeekBar thumb animationSeekBar 拇指动画
【发布时间】:2012-08-14 11:38:16
【问题描述】:

我的问题是双重的。 我目前有一个 seekBar,它不是定制的,但我担心将来需要它。 我的问题围绕着拇指图像:

  1. 我的 seekBar 拇指需要是可点击的,因为我希望在触摸时发生动作 我设法使用 onTouchlistener 实现了问题是我希望在点击拇指时获得视觉反馈图像,我试过了用可绘制的选择器来实现没有用。

  2. 第二个问题是我想在方向更改时为我的搜索栏拇指设置动画。这个我不知道该怎么做...

任何帮助将不胜感激!

编辑: 我试图实现的动画是旋转,因此图像将始终“直立”

我尝试用于点击反馈的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/camera_button_feedback" android:state_pressed="true"/>
<item android:drawable="@drawable/camera_button_feedback" android:state_selected="true"/>
<item android:drawable="@drawable/camera_button_icon"/>

</selector>

【问题讨论】:

  • 您希望应用什么样的动画?此外,如果您可以发布迄今为止尝试实现 seekBar 拇指点击的代码,这将非常有帮助,以便尝试帮助您的人(如我自己)可以轻松导入该代码并尝试解决问题。

标签: android animation seekbar


【解决方案1】:

所以我经过深思熟虑后所做的是在拇指下创建一个视图,该视图随着拇指前进并使搜索栏的拇指不可见,以便获得触摸事件并根据需要为底层视图设置动画

【讨论】:

    【解决方案2】:

    问题 1.) 的解决方案:我已经亲自对此进行了测试,因此我可以向您保证它可以正常工作,并且您获得视觉反馈。

    1.) 在您的项目中创建一个名为“xml”的文件夹,然后向其中添加一个名为 thumb_drawable.xml 的 XML 文件。在此文件中定义以下内容:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item 
    android:state_pressed="true"
    android:drawable="@drawable/seek_thumb_pressed">
    </item>
    <item 
    android:drawable="@drawable/seek_thumb_normal">  
    </item>
    </selector>
    

    'seek_thumb_normal' 是默认的 android seekbar thumb,下载该图像的链接是:http://www.tutomobile.fr/wp-content/uploads/2011/02/seek_thumb_normal.png。 'seek_thumb_pressed' 是默认 android seekbar thumb 的修改版本,只是有不同的颜色。现在,您可以轻松地将其替换为您想要的其他图像,方法是将该图像放在您的可绘制文件夹中,然后在此处引用该名称。

    2.) 这是我用来在布局文件中定义 SeekBar 的代码:

    <SeekBar android:id="@+id/seekbar"
             android:max="100"
             android:layout_width="fill_parent"
             android:layout_height="30dp" 
             android:minWidth="30dp"
             android:minHeight="30dp" 
             android:thumb="@xml/thumb_drawable"/> 
    

    问题 2:现在,我有点困惑,因为您说“我要实现的动画是旋转,因此图像将始终是“直立的”,默认情况下,Android 会处理当您将手机的方向从纵向更改为横向时图像的旋转,因此您的图像默认保持直立。我刚刚在冰淇淋三明治上测试了这一点,当我改变方向时,搜索栏拇指自行旋转。所以,除非我有误解或您有其他想法,否则在处理方向转换时您不需要动画任何东西。如果您有其他想法,请告诉我,我会帮助您解决这个问题。

    【讨论】:

    • 感谢您的帮助。很快就会尝试你的建议,即使它接近我已经尝试过的......关于我禁用方向更改的动画......所以这些变化不会自动发生......我想我应该提到这一点
    • 等等,那么当您说“我想在方向更改时为我的搜索栏拇指设置动画”时,您指的是什么。和“我想要实现的是旋转,所以图像将永远是“直立的”?现在你说你已经禁用了方向更改(我假设你的意思是你已经将方向锁定为纵向)所以如果你已经锁定方向,那么您的屏幕将永远不会向右旋转?
    • OK 尝试了选择器文件,现在不起作用,当我开始拖动拇指时,图标会发生变化并且不会返回。请注意,我正在使用 onTouchListener 而不是 seekbarchangedlistener 进行工作。关于动画,我确实将方向锁定为纵向,但无论如何我使用orientationListener 处理方向更改...
    • 我通过在代码中手动更改图像解决了选择器问题......不是一个很好的解决方案但有效......
    【解决方案3】:

    检查下面的 sn-p 它可能会对你有所帮助...

             seekBar = (SeekBar)findViewById(R.id.seekBar);
        seekBar.setOnTouchListener(this);
              private void updateSeekProgress() {
        if (mediaPlayer.isPlaying()) {
            seekBar.setProgress((int)(((float)mediaPlayer.getCurrentPosition() / lengthOfAudio) * 100));
            handler.postDelayed(r, 1000);
        }
    }   
    

    【讨论】:

    • 很抱歉,我看不出这如何以任何方式解决我的问题
    猜你喜欢
    • 1970-01-01
    • 2015-12-11
    • 2012-12-02
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多