Android Studio使用XML样式用JAVA代码表示(使用XML和Java代码混合控制UI界面)
1、在JAVA中显示文本
LinearLayout text1=(LinearLayout) findViewById(R.id.text1);//获取线程
String s= "需要显示的内容";
//1.集合中每有一条数据,就new一个TextView
TextView tv=new TextView(this);
//2.把人物的信息设置为文本的内容
tv.setText(s);
tv.setTextSize(20);//文本大小
tv.setTextColor(getResources().getColor(R.color.biaoti));//文本颜色
//3.把TextView设置成线性布局的子节点
text1.addView(tv);
2、设置背景颜色和背景
tv1.setBackgroundColor(getResources().getColor(R.color.colorAccent));
tv1.setBackground(this.getResources().getDrawable(R.drawable.editsharp));
3、设置文本字体大小
tv1.setTextSize(18);
4、在java里设置editText的间距:
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp1.setMargins(0, 40, 0, 0);
editText.setLayoutParams(lp1);
5、TextView设置了高度,文字在里面上下居中:
textView.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL);
6、在java设置背景
editText.setBackground(this.getResources().getDrawable(drawable.editsharp));
7、在java设置字体颜色
editText.setTextColor(getResources().getColor(R.color.biaoti));
8、设置控件是否可见
可见(visible)
XML文件:android:visibility="visible"
Java代码:view.setVisibility(View.VISIBLE);
不可见(invisible)
XML文件:android:visibility="invisible"
Java代码:view.setVisibility(View.INVISIBLE);
隐藏(GONE)
XML文件:android:visibility="gone"
Java代码:view.setVisibility(View.GONE);
VISIBLE:设置控件可见
INVISIBLE:设置控件不可见
GONE:设置控件隐藏
而INVISIBLE和GONE的主要区别是:
当控件visibility属性为INVISIBLE时,界面保留了view控件所占有的空间;
而控件属性为GONE时,界面则不保留view控件所占有的空间。
9、在代码中设置控件大小的方法(在JAVA页面设置宽高)
private Button mbtn;
mbtn = (Button) findViewById(R.id.btn_test);
LayoutParams lp;
lp=mbtn.getLayoutParams();
lp.width=100;//宽
lp.height=200;//高
mbtn.setLayoutParams(lp);
10、在代码中设置界面大小的方法(获取屏幕宽高,根据屏幕大小自动调节样式的宽高):
Display display = getWindowManager().getDefaultDisplay(); // 为获取屏幕宽、高
Window window = getWindow();
LayoutParams windowLayoutParams = window.getAttributes(); // 获取对话框当前的参数值
windowLayoutParams.width = (int) (display.getWidth() * 0.7); // 宽度设置为屏幕的0.95
windowLayoutParams.height = (int) (display.getHeight() * 0.1); // 高度设置为屏幕的0.6
windowLayoutParams.alpha = 0.5f;// 设置透明度