zoukankan      html  css  js  c++  java
  • 安卓学习-界面-布局-FrameLayout

    类似于动画里的帧布局,是一层一层的

    FrameLayout直接继承了ViewGroup,常用的XML属性

    属性 方法 说明
    android:foreground setForeground(Drawable drawable) 设置前景图像
    android:foregroundGravity setForegroundGravity(int foregroundGravity) 设置前景图像的Gravity属性

    类似荧光灯效果

    1.颜色配置 colors.xml

     <resources>
            <color name="color1">#FFC125</color>
            <color name="color2">#FFC1C1</color>
            <color name="color3">#FFD39B</color>
            <color name="color4">#FFF0F5</color>
            <color name="color5">#FFF68F</color>
            <color name="color6">#FFFACD</color>
     </resources>
    View Code

    2.主界面文件

    activity_main.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="300dp">
    
            <TextView
                android:id="@+id/textView1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/color1"
                 />
    
            <TextView
                android:id="@+id/textView2"
                android:layout_width="250dp"
                android:layout_height="250dp"
                android:layout_gravity="center"
                android:background="@color/color2"
                />
          
            <TextView
                android:id="@+id/textView3"
                android:layout_width="200dp"
                android:layout_height="200dp"
                android:layout_gravity="center"
                android:background="@color/color3"
                />
    
            <TextView
                android:id="@+id/textView4"
                android:layout_width="150dp"
                android:layout_height="150dp"
                android:layout_gravity="center"
                android:background="@color/color4"
                />
            <TextView
                android:id="@+id/textView5"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:layout_gravity="center"
                android:background="@color/color5"
                />
            
                 <TextView
                android:id="@+id/textView6"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:background="@color/color6"
                />
        </FrameLayout>
    
    </LinearLayout>
    View Code

    MainActivity.java

    public class MainActivity extends Activity {
        
        private int what=132131213;
        private int cutColor=0;
        
        //6种颜色
        private int[] colors=new int[]{
                                        R.color.color1,
                                        R.color.color2,
                                        R.color.color3,
                                        R.color.color4,
                                        R.color.color5,
                                        R.color.color6
                                    };
        //6个textview id
        private int[] viewIDs=new int[]{
                    R.id.textView1,
                    R.id.textView2,
                    R.id.textView3,
                    R.id.textView4,
                    R.id.textView5,
                    R.id.textView6
        };
        
        //6个textview
        private TextView[] views=new TextView[6];
    
        private Handler handler=new Handler(){
            public void handleMessage(android.os.Message msg) {
                if(msg.what==what){
                    for(int i=0;i<6;i++){
                        views[i].setBackgroundResource(colors[(i+cutColor)%5]);
                    }
                    cutColor=cutColor+1;
                    Log.v("wjj",cutColor+"");
                }            
            };
        };
    
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            //设置views
            for(int i=0;i<6;i++){
                views[i]=(TextView)findViewById(viewIDs[i]);
            }
            //定义一个线程,周期性改变颜色
            Timer timer=new Timer();
            timer.schedule(new TimerTask(){
                public void run() {
                    handler.sendEmptyMessage(what);                
                }
            }, 0,200);
        }
    }
    View Code
  • 相关阅读:
    项目知识
    设计师如何为 Android 应用标注尺寸
    Android开发注意事项
    线程的同步和异步
    复习:IPC机制
    简单的Mvp设计
    泛型
    RxBus的使用
    LinearLayout遇到的问题——利用LinearLayout做横向滑动冲突
    Google搜索技巧、使用Google的其它专业搜索
  • 原文地址:https://www.cnblogs.com/weijj/p/3925046.html
Copyright © 2011-2022 走看看