`

完全用代码生成视图UI

 
阅读更多
/*-------------------完全以代码的形式生成视图------------------------------------*/
			LinearLayout linearLayout = new LinearLayout(Tab1.this);// 创建LinearLayout
			linearLayout.setOrientation(LinearLayout.HORIZONTAL);
			linearLayout.setGravity(Gravity.CENTER);

			ImageView imageView = new ImageView(Tab1.this); // 创建ImageView
			imageView.setAdjustViewBounds(true);
			imageView.setImageResource(images[position]); // 设置ImageView显示的内容

			TextView textView = new TextView(Tab1.this);// 创建TextextViewiew
			textView.setPadding(10, 0, 0, 0);
			textView.setLayoutParams(new LinearLayout.LayoutParams(
					LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
			textView.setTextAppearance(Tab1.this, R.style.title);
			textView.setText(items[position]); // 设置TextextViewiew显示的内容

			linearLayout.addView(imageView); // 将ImageView添加到线性布局中
			linearLayout.addView(textView);// 将textView添加到线性布局中
			return linearLayout;

 

/*---------------------更新心情----------------------------------*/
					// 将一个xml文件渲染成view,并设置成对话框的view
					LayoutInflater inflate = LayoutInflater.from(Tab1.this);
					tab1_1 = inflate.inflate(R.layout.tab1_1, null);

					new AlertDialog.Builder(Tab1.this)// 以弹出式对话框的形式更新心情
							.setTitle("更新心情")// 标题
							.setIcon(R.drawable.p_status)// 图标
							.setView(tab1_1)// 设置成对话框的view
							.setPositiveButton("发表",
									new DialogInterface.OnClickListener() {
										@Override
										public void onClick(
												DialogInterface dialog,
												int which) {
											progressDialog = ProgressDialog
													.show(Tab1.this, "请稍候",
															"正在更新心情...", true,
															true);
											updateStatus();// 提交服务器
										}
									})
							//
							.setNegativeButton("取消",
									new DialogInterface.OnClickListener() {
										@Override
										public void onClick(
												DialogInterface dialog,
												int which) {
										}
									}).show();
					/*--------------------------------------------------------------*/


    etStatus = (EditText) tab1_1.findViewById(R.id.editstatus);

	// 方法:连接服务器,更新心情
	public void updateStatus() {
		new Thread() {
			public void run() {
				Looper.prepare();
				etStatus = (EditText) tab1_1.findViewById(R.id.editstatus);
				String status = etStatus.getEditableText().toString().trim(); // 获得心情内容
				if (status.equals("")) { // 如果输入的心情为空
					progressDialog.dismiss();
					Toast.makeText(Tab1.this, "请输入更新的心情", 2000).show();// 输出提示
					Looper.loop();
					return;
				}
				String message = "<#NEW_STATUS#>" + status + "|" + uno;
				if (connector == null) {
					connector = new Connector(SERVER_ADDRESS, SERVER_PORT);
				}
				try {
					connector.dout.writeUTF(message); // 向服务器发送更新的心情
					progressDialog = ProgressDialog.show(Tab1.this, "正在连接网络",
							"请稍候", true);
					String reply = connector.din.readUTF(); // 从服务器返回的回复
					progressDialog.dismiss();
					if (reply.equals("<#STATUS_SUCCESS#>")) { // 心情更新成功
						Toast.makeText(Tab1.this, "心情更新成功!", 2000).show();
						Looper.loop();
					} else { // 心情更新失败
						Toast.makeText(Tab1.this, "心情更新失败!", 2000).show();
						Looper.loop();
					}
				} catch (Exception e) {
					e.printStackTrace();
				}
				Looper.myLooper().quit();
			}
		}.start();
	}

 

分享到:
评论

相关推荐

    Android UI设计代码生成器

    "Android UI设计代码生成器"是一个工具,旨在帮助开发者快速构建和自定义Android应用的用户界面。通过这个工具,开发者可以免去手动编写XML布局文件的繁琐工作,从而提高工作效率。 首先,我们需要了解Android布局...

    C#代码生成器

    3. WPF/Silverlight:对于UI界面丰富的应用,代码生成器能自动生成事件处理代码和数据绑定代码。 4. 企业级应用:在大型项目中,大量的重复代码可以通过代码生成器自动化生成,提高开发速度和代码一致性。 5. 代码...

    C#三层代码生成器

    6. **使用方法**:使用C#三层代码生成器通常涉及几个步骤:连接数据库、选择要生成代码的表或视图、配置生成选项、生成并导入代码。开发者可以根据自己的需求进行调整,例如选择只生成DAL层,或者包括全部三层。 7....

    动软代码生成器C#代码自动生成工具

    动软代码生成器可以依据数据库模型自动创建DAL,通过BLL实现业务逻辑,再构建UI展示结果,使得开发者能更专注于业务逻辑的设计和优化,而非基础架构的搭建。 1. 表现层(UI):此层负责与用户交互,通常由Windows ...

    .net 3层代码生成器

    本文将详细探讨一个基于.NET的三层代码生成器,它能直接连接数据库,解压即用,并在使用时可随时进行代码的重新生成。 首先,我们来理解“三层架构”。三层架构是一种常见的软件设计模式,主要分为表现层(UI)、...

    .net代码生成器批量生成代码

    在MVC模式下,批量生成的控制器和视图文件可以帮助开发者迅速构建出响应式的Web应用,同时数据访问层的代码生成可以减少与数据库交互时的繁琐工作。 "作者简介.txt"文件可能包含了关于KevinCodeBuilder开发者的一些...

    原生Android代码生成器

    代码生成器可以通过分析XML布局文件,生成相应的绑定类,使得开发者可以直接通过字段名访问和操作UI元素,减少了因找不到视图而产生的运行时异常。 2. **事件监听**:XML布局文件中可以设置各种点击事件或者其他...

    动软代码生成器 动软代码生成器

    动软代码生成器是一款强大的开发工具,主要用于自动化代码生成任务,极大地提高了开发效率。它基于C#编程语言,能够帮助开发者快速构建应用的基础框架,减少重复的手动编码工作。动软代码生成器的核心功能在于根据...

    postgres 代码生成器

    使用时,开发者可能需要指定数据库连接信息、表名或视图名,然后代码生成器会根据这些信息自动生成对应的C#代码文件。 在实际开发中,使用Postgres代码生成器可以减少手动编码的时间,使开发者能够更专注于业务逻辑...

    视图网格、数据列表、代码生成器

    在名为"DataListAndRepeaterAndGridView"的压缩包文件中,可能包含示例代码、教程或者工具,用于演示和学习如何使用这些控件以及如何利用代码生成器优化开发流程。通过研究这些资源,开发者可以更好地理解和应用这些...

    代码生成器(C#,VB)

    本项目提供的“代码生成器”是一个完全开源的解决方案,适用于.NET 4.0框架,支持C#和VB两种编程语言。通过它,开发者可以自定义模板,快速生成符合规范的代码,从而极大地提高开发效率。 代码生成器的核心功能在于...

    动软代码生成器,自动生成设计模式代码

    对于UI层,你可以使用MVC(模型-视图-控制器)或MVVM(模型-视图-ViewModel)设计模式,生成控制器或ViewModel类,以及对应的视图组件。 此外,动软代码生成器还可以帮助生成测试代码,确保生成的代码具有良好的...

    C#三层代码生成器,C#三层代码生成器

    使用C#三层代码生成器的优势在于: - 提高开发效率:开发者无需手动编写大量重复性代码,可以更专注于业务逻辑和用户体验。 - 提升代码质量:生成的代码遵循最佳实践,结构清晰,易于理解和维护。 - 便于团队协作:...

    ASP.NET代码生成器

    ASP.NET代码生成器能够自动生成这些常见的代码结构,例如数据访问层(DAL)、业务逻辑层(BLL)和表示层(UI)的类文件,甚至包括页面控件和数据库连接代码。通过这种方式,开发者可以专注于设计应用程序的核心功能...

    C#源代码生成器

    《C#源代码生成器详解》 在编程领域,C#源代码生成器是一种非常实用的工具,它能够帮助开发者快速生成基本的逻辑代码,极大地提高了开发效率和代码质量。本文将深入探讨C#源代码生成器的工作原理、应用场景以及其在...

    asp.net 代码生成器

    使用代码生成器时,开发者首先需要配置数据库连接信息,然后选择要生成代码的表或视图。工具会分析这些数据对象,生成相应的C#类和接口,以及与之对应的ASP.NET页面或控制器。生成的代码通常包含添加、编辑、删除和...

    c# 多层架构代码生成器

    1. 表现层代码生成:生成用户界面(UI)相关的代码,如ASP.NET MVC或WPF的视图(Views)和控制器(Controllers),以及与业务逻辑交互的ViewModel。 2. 业务逻辑层代码生成:根据数据库模型,自动生成服务接口...

    开源C#代码生成器

    开源C#代码生成器是一款强大的开发工具,专为C#程序员设计,旨在提高开发效率,减少重复编写基础代码的工作量。这款工具的核心是利用winform作为用户界面,结合DevExpress控件库来提供友好的交互体验,并采用...

    asp.net mvc多层代码生成器

    使用代码生成器,你可以快速创建与后台数据模型对应的视图文件,减少前端页面的编写工作。 2. **业务逻辑层(BLL)**:BLL处理应用程序的业务规则和流程。代码生成器会自动生成对应的BLL类,这些类通常包含业务操作...

Global site tag (gtag.js) - Google Analytics