RelativeLayout用java代码敲布局
来源:互联网 发布:肌研洗面奶怎么样 知乎 编辑:程序博客网 时间:2024/05/23 18:32
解决问题:主要是用来屏幕适配,有的控件动态加载出来。
1、
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="220dp" >
</RelativeLayout>
2、
package com.example.est;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class MainActivity extends Activity {
private RelativeLayout activity_main;
WindowManager wm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private int image1 = 10001;
private int image2 = 10002;
private int image3 = 10003;
private int image4 = 10004;
private int image5 = 10005;
private void initView() {
wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
activity_main = (RelativeLayout) findViewById(R.id.activity_main);
// 第一个
ImageView imageview1 = new ImageView(MainActivity.this);
imageview1.setLayoutParams(new ViewGroup.LayoutParams(width / 4, ViewGroup.LayoutParams.MATCH_PARENT));// 宽,高
imageview1.setPadding(10, 0, 10, 0);
imageview1.setId(image1);
imageview1.setBackgroundResource(R.drawable.ic_launcher);
// 第二个
ImageView imageview2 = new ImageView(MainActivity.this);
RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(width / 4, (int) (dip2px(220) / 2));
lp2.addRule(RelativeLayout.RIGHT_OF, image1);
imageview2.setId(image2);
imageview2.setBackgroundResource(R.drawable.ic_launcher);
imageview2.setLayoutParams(lp2);
// 第三个
ImageView imageview3 = new ImageView(MainActivity.this);
RelativeLayout.LayoutParams lp3 = new RelativeLayout.LayoutParams(width / 2, (int) (dip2px(220) / 2));
lp3.addRule(RelativeLayout.RIGHT_OF, image2);
imageview3.setId(image3);
imageview3.setBackgroundResource(R.drawable.ic_launcher);
imageview3.setLayoutParams(lp3);
// 第四个
ImageView imageview4 = new ImageView(MainActivity.this);
RelativeLayout.LayoutParams lp4 = new RelativeLayout.LayoutParams(width / 2, (int) (dip2px(220) / 2));
lp4.addRule(RelativeLayout.RIGHT_OF, image1);
lp4.addRule(RelativeLayout.BELOW, image2);
imageview4.setId(image4);
imageview4.setBackgroundResource(R.drawable.ic_launcher);
imageview4.setLayoutParams(lp4);
// 第五个
ImageView imageview5 = new ImageView(MainActivity.this);
RelativeLayout.LayoutParams lp5 = new RelativeLayout.LayoutParams(width / 4, (int) (dip2px(220) / 2));
lp5.addRule(RelativeLayout.RIGHT_OF, image4);
lp5.addRule(RelativeLayout.BELOW, image3);
imageview5.setId(image5);
imageview5.setBackgroundResource(R.drawable.ic_launcher);
imageview5.setLayoutParams(lp5);
activity_main.addView(imageview1);
activity_main.addView(imageview2);
activity_main.addView(imageview3);
activity_main.addView(imageview4);
activity_main.addView(imageview5);
}
public int dip2px(float dip) {
float density = getResources().getDisplayMetrics().density;
return (int) (dip * density + 0.5f);
}
}
3、效果图
- RelativeLayout用java代码敲布局
- 代码布局relativeLayout
- RelativeLayout代码布局
- 代码布局relativeLayout
- 代码中布局relativelayout
- 代码布局relativeLayout
- 代码实现 RelativeLayout布局
- Java代码使用LayoutParams改变RelativeLayout 中的控件布局
- 使用JAVA代码实现Android布局(一)RelativeLayout
- 使用JAVA代码实现Android布局(一)RelativeLayout
- Android RelativeLayout 代码位置布局
- RelativeLayout代码实现相对布局
- 代码生成RelativeLayout 布局文件
- android 使用代码实现 RelativeLayout布局!
- android 使用代码实现 RelativeLayout布局
- Android使用代码实现RelativeLayout,LinearLayout布局
- android 使用代码实现 RelativeLayout布局
- Android使用代码实现RelativeLayout,LinearLayout布局
- 注解
- 计蒜客-斐波那契数列
- android之TextWatcher的监听
- spring 的定时任务 学习备忘
- 关于java的初次认识
- RelativeLayout用java代码敲布局
- temp
- Android反编译
- Codevs 1533互斥的数-hash
- Android问题—Android中Cookie问题的处理
- BZOJ-1191 (二分图匹配)
- 表单验证 ajax异步请求实例 json传参
- OpenGL3.3+GLFW+GLEW+GLM实现小人行走动画
- 数据挖掘---分类评估指标和回归问题