zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

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

Android方法 实现 指针 滑动 动态效果
2023-06-13 09:14:47 时间

复制代码代码如下:


<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属性来实现滚动的动画效果

复制代码代码如下:


HandlermyHandler=newHandler(){

       @Override
       publicvoidhandleMessage(Messagemsg){
           //TODOAuto-generatedmethodstub
           super.handleMessage(msg);
           //对于c的更改和循环应该是在线程中跑,要不run仅仅执行一次,           
           zhizhen.setPadding(c,0,0,0);
       }

       
   };
   classMyThreadextendsThread{

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

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

               
       }catch(InterruptedExceptione){
           //TODOAuto-generatedcatchblock
           e.printStackTrace();
       }