1、常用UI组件
1.1 TextView
- match_parent:当前控件的大小和父布局一样
- wrap_content:当前控件的大小能够刚好包住里面的内容
- 文字对齐方式:android:gravity=“center|top|bottom|left|right”
- 文字大小:android:textSize=“24sp”
- 文字颜色:android:textColor="#00ff00"
1.2 Button
-
android:textAllCaps="false" #禁止大写转换
-
注册监听事件有两种方式:基于匿名类和实现接口
-
基于匿名类
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 在此处添加逻辑 } }); } }
-
实现接口
public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button: // 在此处添加逻辑 break; default: break; } } }
1.3 EditText
它允许在控件里输入和编辑内容
android:hint="请输入" #提示输入并隐藏
android:maxLines="2" #最大输入行数
点击按钮显示文本框内容
public class Main3Activity extends AppCompatActivity implements View.OnClickListener{
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
Button button = (Button) findViewById(R.id.button_3);
editText = (EditText) findViewById(R.id.edit_text);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button_3:
//添加逻辑
String inputText = editText.getText().toString();
Toast.makeText(Main3Activity.this,inputText,Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
1.4 imageView
在res目录下新建一个drawable-xhdpi文件夹用来存放图片
android:src="@drawable/img_1" #指定路径
以下是点击按钮跳转到另外一张图片
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText editText;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
editText = (EditText) findViewById(R.id.edit_text);
imageView = (ImageView) findViewById(R.id.image_view);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
imageView.setImageResource(R.drawable.img_2);
break;
default:
break;
}
}
}
1.5 ProgressBar
android:visibility 进行指定,可选值有3种:visible 、invisible 和gone。visible 表示控件是可见的,这个值是默认值,不指定android:visibility 时,控件都是可见的。invisible 表示控件不可见,但是它仍然占据着原来的位置和大小,可以理解成控件变成透明状态了。gone 则表示控件不仅不可见,而且不再占用任何屏幕空间。我们还可以通过代码来设置控件的可见性,使用的是setVisibility() 方法,可以传入View.VISIBLE、View.INVISIBLE 和View.GONE 这3种值
首先要在xml文件里面定义样式
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText editText;
private ImageView imageView;
private ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
editText = (EditText) findViewById(R.id.edit_text);
imageView = (ImageView) findViewById(R.id.image_view);
progressBar = (ProgressBar) findViewById(R.id