zoukankan      html  css  js  c++  java
  • 动态添加一个视图及其布局属性(要掌握)

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.admin.myapplication30.FrameActivity">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
    
            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/btn_add_frame"
                android:gravity="center"
                android:text="添加视图"
                android:textColor="#000000"
                android:textSize="17sp"/>
    
            <FrameLayout
                android:id="@+id/fl_frame"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:foreground="@mipmap/ic_launcher"
                android:foregroundGravity="top|center_horizontal">
            </FrameLayout>
    
        </LinearLayout>
    
    </android.support.constraint.ConstraintLayout>
    package com.admin.myapplication30;
    
    import android.graphics.Color;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.FrameLayout;
    import android.widget.LinearLayout;
    
    public class FrameActivity extends AppCompatActivity implements View.OnClickListener {
        private FrameLayout fl_content;
        private int[] mColorArray = {
                Color.BLACK, Color.WHITE, Color.RED, Color.YELLOW, Color.GREEN,
                Color.BLUE, Color.CYAN, Color.MAGENTA, Color.GRAY, Color.DKGRAY
        };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_frame);
    
            fl_content = (FrameLayout) findViewById(R.id.fl_frame);
            findViewById(R.id.btn_add_frame).setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            if (v.getId() == R.id.btn_add_frame) {
                int random = (int) (Math.random()*10 % 10);
                View vv = new View(this);
                vv.setBackgroundColor(mColorArray[random]);
                LinearLayout.LayoutParams ll_params = new LinearLayout.LayoutParams(
                        ViewGroup.LayoutParams.MATCH_PARENT, (random+1)*50);
                vv.setLayoutParams(ll_params);
                vv.setOnLongClickListener(new View.OnLongClickListener() {
                    @Override
                    public boolean onLongClick(View vvv) {
                        fl_content.removeView(vvv);
                        return true;
                    }
                });
                fl_content.addView(vv);
            }
        }
    }
  • 相关阅读:
    【转】【SEE】基于SSE指令集的程序设计简介
    【转】【Asp.Net】asp.net服务器控件创建
    ControlTemplate in WPF ——ScrollBar
    ControlTemplate in WPF —— Menu
    ControlTemplate in WPF —— Expander
    ControlTemplate in WPF —— TreeView
    ControlTemplate in WPF —— ListBox
    ControlTemplate in WPF —— ComboBox
    ControlTemplate in WPF —— TextBox
    ControlTemplate in WPF —— RadioButton
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/7374595.html
Copyright © 2011-2022 走看看