动态添加一个视图及其布局属性(要掌握)

<?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);
        }
    }
}
时间: 2024-10-14 20:01:22

动态添加一个视图及其布局属性(要掌握)的相关文章

Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图

Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程. 您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所引入的Razor视图引擎.Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优雅的方式来使用C#语言创建所要输出的HTML.用Razor编写一个视图模板文件时,将所需的字符和键盘敲击数量降到了最低,并实现了快速,

//快速添加一个视图控制器

//快速添加一个视图控制器 #import <UIKit/UIKit.h> @interface UITabBarController (ZJTabBarExtension) -(UIViewController*)andViewController:(Class)cls title:(NSString*)title image:(NSString*)image; @end @implementation UITabBarController (ZJTabBarExtension) -(UIV

动态添加一个节点

系统正在运行,如何添加一个从节点: 步骤一: 配置好要新节点的的环境 步骤二:    在主节点的配置文件slaves文件中添加一行新节点的ip 步骤三:     然后在新节点中分别执行以下命令,启动进程: hadoop-daemon.sh  start  datanode     hadoop-daemon.sh  start  tasktracker 步骤四:     刷新主节点   hadoop  dfsadmin  -refreshNodes 动态添加一个节点,布布扣,bubuko.com

【翻译转载】【官方教程】Asp.Net MVC4入门指南(3):添加一个视图

3. 添加一个视图 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view · 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/11/06/2756711.html Asp.Net MVC4入门指南(3):添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,

mvc中动态给一个Model类的属性设置验证

原文:mvc中动态给一个Model类的属性设置验证 在mvc中有自带的验证机制,比如如果某个字段的类型是数字或者日期,那么用户在输入汉字或者英文字符时,那么编译器会自动验证并提示用户格式不正确,不过这样的验证毕竟功能有限,那么就需要我们自己进行定制验证. 假设有Model类:class Dinners{ private string Title; private System.DateTime EventDate; private string Description; private stri

Asp.Net MVC4入门指南(3):添加一个视图

在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程. 您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所引入的Razor视图引擎.Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优雅的方式来使用C#语言创建所要输出的HTML.用Razor编写一个视图模板文件时,将所需的字符和键盘敲击数量降到了最低,并实现了快速,流畅的编码工作流程. 当前在控制器类中的Index方法返回了一个硬编码

【MVC5】3.添加一个视图

在这一节中你将修改HelloWorldController类使用的视图模板文件整洁的封装生成HTML响应客户端的过程. 使用"视图引擎"创建一个视图模板文件.基于Razor视图模板有.cshtml文件扩展名,并提供使用C #创建HTML输出一种优雅的方式.剃刀将字符和按键需要编写一个视图模板时的数量,并能够快速.灵活的工作流程. 当前索引方法返回一个字符串,该字符串在控制器类中硬编码的消息.更改索引方法返回一个视图对象,如下面的代码所示: public ActionResult Ind

动态添加子视图 UIView 的正确方法

很多时候哥比较喜欢用代码添加视图,特别是要同时加很多UIView时,而且跟 xib 比起来代码更容易管理,在多人的项目中代码不容易 conflict. 但小牛哥最近发现很多新人都不太清楚正确的使用方法,以下是哥的一些总结,有何不妥欢迎大家一起讨论: (前提条件是这样的:有一个 View Controller  和相应的 xib 文件,我们需要为这个controller 动态加上其他的子视图) UIViewController 中动态添加 UIView 正确的步骤应该是: 1. 在 viewDid

Android动态添加和移除布局

1 package com.hyang.administrator.studentproject; 2 3 import android.os.Bundle; 4 import android.support.v7.app.AppCompatActivity; 5 import android.view.LayoutInflater; 6 import android.view.View; 7 import android.widget.Button; 8 import android.widg