package com.example.demo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.widget.Button;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
///使用java代码动态添加子view
oneWay();
}
private void oneWay(){
Button button = new Button(this);
button.setText("One");
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
//此处相当于布局文件中的Android:layout_gravity属性
lp.gravity = Gravity.RIGHT;
button.setLayoutParams(lp);
//此处相当于布局文件中的Android:gravity属性
button.setGravity(Gravity.CENTER);
LinearLayout linear = new LinearLayout(this);
//注意,对于LinearLayout布局来说,设置横向还是纵向是必须的!否则就看不到效果了。
linear.setOrientation(LinearLayout.VERTICAL);
linear.addView(button);
linear.setBackgroundColor(0x30ffffff);
setContentView(linear);
}
private void anotherWay(){
Button button = new Button(this);
button.setText("One");
//此处相当于布局文件中的Android:gravity属性
button.setGravity(Gravity.CENTER);
LinearLayout linear = new LinearLayout(this);
//注意,对于LinearLayout布局来说,设置横向还是纵向是必须的!否则就看不到效果了。
linear.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
//此处相当于布局文件中的Android:layout_gravity属性
lp.gravity = Gravity.RIGHT;
linear.addView(button, lp);
setContentView(linear);
}
}
相关推荐
自定义View
1、ViewGroup是一个容器,而这个容器是继承与View的。2、ViewGroup是一个基类,并且是Layout和一些View组件的基类。二、ViewGroup的三个方法。
Android-View 绘制原理(01)-JAVA层分析
##8.1 答案揭晓:1)Canvas 是哪里来的?在未开启硬件加速的情况下,是直接构造的Canvas对象,并将内容画到一个Bitmap缓存;在开启硬件加速的情况下,是来自于RenderNode.begingRecording方法生成的一个RecordingCanvas,并将绘制命令记录到DisplayList2)绘制完毕后如何显示在界面去?
学生信息管理系统 实现学生的添加删除修改(java代码编写)
java 代码编写 能够实现学生信息的添加,删除,修改.
Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解
本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 今天继续给大家分享下View的相关知识,重点有一下两点: 1、View的几种不同状态属性 2、如何根据不同状态去切换我们的背景图片。 开篇介绍:android背景选择器selector
JavaAndroid视图与布局
1.背景介绍 在Android应用开发中,视图(View)和布局(Layout)是构建用户界面的基本组件。视图是用户界面的基本元素,用于显示和处理用户输入。布局是用于定位和排列视图的容器。本文将深入探讨JavaAndroid视图与布局的核心概念、算法原理、具体操作步骤和数学模型,并通过代码实例进行详细解释。 2.核心概念与联系 2.1 视图(View) 视图是Android应用程序的基本组...
java的控件的位置_java 代码 添加控件 修改位置 View
Button button = new Button(this);FrameLayout frameLayout = getWindow().getDecorView().findViewById(android.R.id.content);frameLayout.addView(button);//FrameLayout.LayoutParams layout= (FrameLayout.Lay...
Android初学习 - 在布局中动态添加view的两种方法
一、说明 添加视图文件的时候有两种方式:1、通过在xml文件定义layout;2、java代码编写 二、前言说明 1.构造xml文件 2.LayoutInflater 提到addview,首先要了解一下LayoutInflater类。这个类最主要的功能就是实现将xml表述的layout转化为View的功能。为了便于理解,我们可以将它与findViewB
android viewpage 代码添加view,Android Studio:如何使用ViewPager添加标签
像这样使用的xml文件:xmlns:app="http://schemas.android.com/apk/res-auto"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent">android:id="@+id/tabLayout"andro...
java se 动态添加视图组件_微信小程序动态添加view组件的实例代码
在web中,我们动态添加DOM,可以用jQuery的方法,很简单。在微信小程序中怎么实现下面这么需求。其中,里程数代表上一行到这一行地方的距离(这个不重要);要实现的就是点击增加途径地,就多一行,删除途径地,就少一行。分析:添加的和删除的是同样的结构,只是数量不一样,所以考虑循环,用列表表示,增加就往这个列表push一个,删除就从列表pop一个。主要代码如下:出 发 地placeholder="请...
android View 内部增加组件
Android View 内部增加组件 在Android开发中,我们经常需要在一个View内部添加更多的组件,比如按钮、文本框等。这种需求可能是为了实现更丰富的交互效果,或者是为了满足特定的设计要求。在本文中,我们将介绍如何在一个View内部动态增加其他组件,并提供代码示例来帮助读者理解这个过程。 实现步骤 首先,在XM...
安卓View绘制示例
3.重写触控点击onTouchEvent与绘制方法onDraw。1.创建一个扩展于View类的自定义类DrawView。上面的4,5,6选择其中一种方法就行。4.设计视图中添加自定义View。6.使用JAVA代码来添加视图。5.直接使用XML代码添加。
Android在布局中动态添加view的两种方法
一、说明 添加视图文件的时候有两种方式:1、通过在xml文件定义layout;2、java代码编写二、前言说明1.构造xml文件2.LayoutInflater提到addview,首先要了解一下LayoutInflater类。这个类最主要的功能就是实现将xml表述的layout转化为View的功能。为了便于理解,我们可以将它与findViewById()作一比较,二者都是实例化某一对象,不同的是f
java view的代码在哪里_通过Java代码来创建view的方法
一、简介需要了解的知识二、方法1)java代码创建view方法* 1、先建view对象View view= View.inflate(this, R.layout.activity01, null);* 2、在view中填充R.layout.activity01页面View view= View.inflate(this, R.layout.activity01, null);* 3、然后在vie...
java view_通过Java语言代码来创建view的方法
本文主要向大家介绍了通过Java语言代码来创建view的方法,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。一、简介需要了解的知识二、方法1)java代码创建view方法* 1、先建view对象View view= View.inflate(this, R.layout.activity01, null);* 2、在view中填充R.layout.activity01页面View ...
android代码动态添加View
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Java代码中动态的生成View //首先我们在onCreate方法中创建一个Button实例: Button button = new Button(this);...
如何保证linearlayout_Android LinearLayout动态添加View时如何设置View间的间距
概述 自定义ViewGroup和View的行为,主要是通过继承修改基类的onMeasure(),onLayout(),onDraw()三个函数。三个函数功能分别: onMeasure(): 计算当前视图的大小,在layout过程中会使用 调用子视同的函数计算器大小 onLayout(): 布局当前视图的子视图的布局 on在一个LinearLayout中动态添加View(Java代码实现): for...
基于Android在布局中动态添加view的两种方法
基于Android在布局中动态添加view的两种方法
动态添加View
效果图: 具体代码: //1.寻找到可以添加控件的一些根布局:如LinearLayout val linearLayout = findViewById<View>(R.id.line_view) as LinearLayout val lv0_params = LinearLayout.LayoutParams(dp2px(this,...
Android中动态添加View的两种方法
一、使用xml的方式: 1、LayoutInflater: 这个类可以把xml表述的Layout解析为View,从而可以使addView()方法添加View。 2、LayoutInflater与findViewById的区别: 两者都是实例化某一个对象,不同的是findViewById是通过找xml布局文件下的一个具体的widget控件进行实例化,而LayoutInflater是找res/...
406




被折叠的 条评论
为什么被折叠?



