纯代码实现布局,对话框

对话框自定义:相对布局的java代码实现
创建AlertDiaglog
Window window = dlg.getWindow()
创建布局,代码为相对布局
载入布局,载入相关空间,设置相关控件的位置
代码如下

int bgImageViewID = 10;
  int iconImageViewID = 11;
  int textViewID = 12;
  int buttonOkID = 13;
  int buttonCancelID = 14;
  int srcImageViewId = 15;
  
  final AlertDialog dlg = new AlertDialog.Builder(this).create();
  dlg.show();
  Window window = dlg.getWindow();
  // 主要就是在这里实现这种效果的. 
  RelativeLayout rLayout = new RelativeLayout(this); 
  //设置背景
  ImageView bg_iv = new ImageView(this);
  bg_iv.setId(bgImageViewID);
  bg_iv.setImageResource(R.drawable.bg2);
  
  RelativeLayout.LayoutParams bgRelativeParams_iv = new RelativeLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  bgRelativeParams_iv.addRule(RelativeLayout.CENTER_HORIZONTAL);
  rLayout.addView(bg_iv, bgRelativeParams_iv);
  
  ImageView icon_iv = new ImageView(this);
  icon_iv.setId(iconImageViewID);
  icon_iv.setImageResource(R.drawable.egame_logo_icon);
  
  RelativeLayout.LayoutParams iconRelativeParams_iv = new RelativeLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  
  iconRelativeParams_iv.addRule(RelativeLayout.ALIGN_LEFT,bgImageViewID);
  iconRelativeParams_iv.addRule(RelativeLayout.ALIGN_TOP,bgImageViewID);
  rLayout.addView(icon_iv, iconRelativeParams_iv);
  
  
  TextView tv = new TextView(this);
  tv.setId(textViewID);
  tv.setText("XXXXXXXXX");

RelativeLayout.LayoutParams RelativeParams_tv = new RelativeLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

RelativeParams_tv.addRule(RelativeLayout.CENTER_HORIZONTAL,iconImageViewID);
  rLayout.addView(tv, RelativeParams_tv);
    
  ImageView src_iv = new ImageView(this);
  src_iv.setId(srcImageViewId);
  src_iv.setBackgroundResource(R.drawable.app_icon);

RelativeLayout.LayoutParams srcRelativeParams_iv = new RelativeLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  
  srcRelativeParams_iv.addRule(RelativeLayout.CENTER_IN_PARENT,bgImageViewID);
  //RelativeParams_tv.addRule(RelativeLayout.ALIGN_TOP,bgImageViewID);
  rLayout.addView(src_iv, srcRelativeParams_iv);
  
  
  Button btn_ok = new Button(this);
  btn_ok.setId(buttonOkID);
  btn_ok.setBackgroundResource(R.drawable.submit);
  
  RelativeLayout.LayoutParams relativeParams_btn_ok = new RelativeLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  
  //RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)iv.getLayoutParams();
  
  relativeParams_btn_ok.addRule(RelativeLayout.ALIGN_BOTTOM,bgImageViewID);
  relativeParams_btn_ok.addRule(RelativeLayout.ALIGN_LEFT,bgImageViewID);
  rLayout.addView(btn_ok, relativeParams_btn_ok);
    
  Button btn_cancel = new Button(this);
  btn_cancel.setId(buttonCancelID);
  btn_cancel.setBackgroundResource(R.drawable.cancel);
   
  RelativeLayout.LayoutParams relativeParams_btn_cancel = new RelativeLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  relativeParams_btn_cancel.addRule(RelativeLayout.ALIGN_BOTTOM,bgImageViewID);
  relativeParams_btn_cancel.addRule(RelativeLayout.ALIGN_RIGHT,bgImageViewID);;
  rLayout.addView(btn_cancel, relativeParams_btn_cancel);
  
  //window.setContentView(R.layout.diag);
  window.setContentView(rLayout);
  // 为确认按钮添加事件,执行退出应用操作
  btn_ok.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
    
   }
  });
  // 关闭alert对话框架
  btn_cancel.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
    dlg.cancel();
   }
  });

纯代码实现布局,对话框,布布扣,bubuko.com

时间: 2024-10-25 12:21:52

纯代码实现布局,对话框的相关文章

纯代码实现对话框

对话框自定义:相对布局的java代码实现创建AlertDiaglog Window window = dlg.getWindow() 创建布局,代码为相对布局 载入布局,载入相关空间,设置相关控件的位置 代码如下 int bgImageViewID = 10; int iconImageViewID = 11; int textViewID = 12; int buttonOkID = 13; int buttonCancelID = 14; int srcImageViewId = 15; f

ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局 一.实现效果 二.使用纯代码自定义一个tableview的步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中

IOS开发UI篇--UITableView的自定义布局==纯代码布局

UITableView中除了利用系统的UItableViewCell不能完成需求进行布局时,还可以进行自定义布局: 自定义布局分为两类:(1)利用代码进行创建 (2)利用xib进行实现: 下面对利用代码进行创建分析: 应用场景:像微博,等列表数据展示(由于微博的每个单元格的数据大小不一致,所以得计算每个单元格的大小) 分析:前提是获取列表数据,然后建立每个单元格的模型(建立单元格模型应继承UITableViewCell)复写 - (id)initWithStyle:(UITableViewCel

iOS界面布局之三——纯代码的autoLayout及布局动画

iOS界面布局之三--纯代码的autoLayout及布局动画 一.引言 关于界面布局,apple的策略已经趋于成熟,autolayout的优势在开发中也已经展现的淋漓尽致.除了使用storyBoard进行布局约束的拖拽,有时我们也需要在代码中进行autolayout的布局设置,Masonry库可以方便的创建约束属性,实际上,我们也没有必要再使用系统原生的代码来创建和设置约束,这篇博客只作为使用的方法备忘.前几篇布局介绍的链接如下: 使用autoresizing进行界面布局:http://my.o

iOS开发UI基础—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

ios开发UI基础-使用纯代码自定义UItableviewcell实现一个简单的微博界面布局 一.实现效果 二.使用纯代码自定义一个tableview的步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片) 3.提供2个模型 数据模型:

iPad纯代码实现横竖屏切换,采用相对布局

因为本来不喜欢使用StoryBoard.xib等可视化编程,一直使用的纯代码布局,但是纯代码布局的iOS开发者会遇到一个问题,就是横竖屏适配的问题,如果使用自动布局,那些约束的,写起来都是不难,但是控件之间的关联太多,以至于维护性很差.本人由于工作的原因,做iPad开发,那就必须要解决横竖屏适配的问题,于是就有了这篇文章. 代码如下: // //  ViewController.swift //  iPad横竖屏切换 // //  Created by zhangxu on 16/7/30. /

android 纯代码布局

LinearLayout中margin属性小结 java代码控制layout_Margin参数 Andorid 布局layout_margin和padding分析 Android 用纯代码实现复杂界面 [应用代码] Android代码写布局

iOS:删除storyBoard,纯代码实现UITabBarController的视图切换功能

storyboard是一个很强大的编写代码的辅助工具,可以帮助布局多个视图之间的联系,既直观又能减少代码量:但是,作为一个程序员,在不使用storyboard的情况下,纯代码编写是必须的技能. 下面就用纯代码实现纯代码实现UITabBarController的视图切换功能,咱就实现三个视图之间的转换吧,代码不多,容易看的明白. 步骤: 1.删除storyboard故事板和UIViewController 2.创建三个控制器类,均继承自UIViewController,分别为FirstViewCo

纯代码transform位移伸缩和旋转

1 // 2 // LWTViewController.m 3 // 纯代码位移和伸缩作业 4 // 5 // Created by apple on 14-5-20. 6 // Copyright (c) 2014年 lwt. All rights reserved. 7 // 8 9 #import "LWTViewController.h" 10 #pragma mark 定义常量 11 /** 图片距离顶部的高度 */ 12 #define KImageY 60 13 /**