用代码写布局

本文介绍了一个用于Android应用中展示网络错误的UI布局实现方法。通过使用LinearLayout进行整体布局,并添加ImageView、TextView和Button等组件来提示用户网络异常并提供重新加载的功能。


用代码写重新加载页面的布局


package com.example.testerrorui;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(getErrorLayout(this));
	}

	private View getErrorLayout(final Context context) {

		// 整体的布局main_layout
		LinearLayout layout_main = new LinearLayout(context);
		layout_main.setBackgroundColor(Color.WHITE);
		layout_main.setOrientation(LinearLayout.VERTICAL);
		layout_main.setLayoutParams(new LinearLayout.LayoutParams(
				ViewGroup.LayoutParams.MATCH_PARENT,
				ViewGroup.LayoutParams.MATCH_PARENT));

		// 网络异常layout_error
		LinearLayout layout_error = new LinearLayout(context);
		layout_error.setOrientation(LinearLayout.VERTICAL);
		layout_error.setGravity(Gravity.CENTER);
		layout_error.setLayoutParams(new LinearLayout.LayoutParams(
				ViewGroup.LayoutParams.MATCH_PARENT,
				ViewGroup.LayoutParams.MATCH_PARENT));

		// ImageView
		ImageView iv_error = new ImageView(context);
		iv_error.setImageDrawable(getResources().getDrawable(
				R.drawable.ic_launcher));
		LinearLayout.LayoutParams params_imageView = new LinearLayout.LayoutParams(
				ViewGroup.LayoutParams.WRAP_CONTENT,
				ViewGroup.LayoutParams.WRAP_CONTENT);

		// TextView
		TextView tv_error = new TextView(context);
		tv_error.setText("亲,你的网络有异常哦!");
		tv_error.setTextSize(20);
		tv_error.setTextColor(Color.GRAY);
		LinearLayout.LayoutParams params_textView = new LinearLayout.LayoutParams(
				ViewGroup.LayoutParams.WRAP_CONTENT,
				ViewGroup.LayoutParams.WRAP_CONTENT);
		params_textView.setMargins(0, 40, 0, 0);// 左上右下

		// button
		Button btn_reloading = new Button(context);
		btn_reloading.setText("重新加载");
		btn_reloading.setTextSize(20);
		btn_reloading.setTextColor(Color.WHITE);
		btn_reloading.setBackgroundColor(Color.rgb(51, 181, 229));
		btn_reloading.setPadding(20, 3, 20, 3);
		LinearLayout.LayoutParams params_button = new LinearLayout.LayoutParams(
				ViewGroup.LayoutParams.WRAP_CONTENT,
				ViewGroup.LayoutParams.WRAP_CONTENT);
		params_button.setMargins(0, 40, 0, 0);

		// layout_error添加组件
		layout_error.addView(iv_error, params_imageView);
		layout_error.addView(tv_error, params_textView);
		layout_error.addView(btn_reloading, params_button);

		// layout_main添加组件
		layout_main.addView(layout_error);

		return layout_main;
	}

	
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值