广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    android中实现指针滑动的动态效果方法

    2018-04-06 10:42:06 次阅读 稿源:互联网
    广告

    代码如下:

    <FrameLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#fff"
                android:paddingBottom="5dp"
                android:paddingLeft="5dp"
                android:paddingRight="2dp"
                >

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:src="@drawable/up_icon"
                    android:layout_marginTop="0dp"
                    android:paddingTop="0dp" />

                <LinearLayout
                    android:layout_width="240dip"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="7dp"
                    android:orientation="horizontal" >

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="left"
                        android:text="优"
                        android:textSize="12sp" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="left"
                        android:text="良"
                        android:textSize="12sp" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="left"
                        android:text="中等"
                        android:textSize="12sp" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="left"
                        android:text="不健康"
                        android:textSize="12sp" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="left"
                        android:text="有毒害"
                        android:textSize="12sp" />
                </LinearLayout>

               
                <LinearLayout
                    android:layout_width="240dip"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="7dp"
                    android:layout_marginTop="40dp"
                    android:orientation="horizontal" >

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center_horizontal"
                        android:text="80"
                        android:textSize="12sp" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center_horizontal"
                        android:text="120"
                        android:textSize="12sp" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center_horizontal"
                        android:text="160"
                        android:textSize="12sp" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center_horizontal"
                        android:text="200"
                        android:textSize="12sp" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center_horizontal"
                        android:text="400"
                        android:textSize="12sp" />
                </LinearLayout>

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="10dp"
                    android:src="@drawable/zhizhen"
                    android:id="@+id/zhizhen"/>

                <ImageView
                    android:id="@+id/dengji_img"
                    android:layout_width="250dip"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="25dp"
                    android:src="@drawable/dengji_icon" />
            </FrameLayout>

    上面这段代码实现的布局为

    首先,因为指针有压着下面的滚动条,因此这是一个framelayout的布局。其次,要实现指针的匀速滚动,需要开启一个线程,在线程中能够实现利用循环,以及线程的休眠,通过控制指针所在图标的padding属性来实现滚动的动画效果

    代码如下:

    Handler myHandler =new Handler(){

            @Override
            public void handleMessage(Message msg) {
                // TODO Auto-generated method stub
                super.handleMessage(msg);
                //对于c的更改和循环应该是在线程中跑,要不run仅仅执行一次,           
                zhizhen.setPadding(c, 0, 0, 0);
            }

           
        };
        class MyThread extends Thread{

            @Override
            public void run() {
                //发送一个消息,通知主线程改变UI
             try {

                 while(c<=input){
                     c=c+1;
                     this.sleep(10);
                     myHandler.sendEmptyMessage(0);                
                 }

                   
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告