您的位置:首页 > 编程语言

用代码写布局

2015-08-11 10:45 363 查看

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

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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: