【Android】学习笔记(1)基础控件
1.TextView 文字文本
android:id="+id/控件名"
match_parent表示当前控件和父布局的大小一样。
wrap_content表示点当前的控件大小刚好能保住里面的内容
android:gravity属性有:top、bottom、left、right、center。同时可以“|”指定多个值
android:textSize指定字体大小,使用sp作为单位
android:textColor指定字体颜色
2.Button按钮
android:id="+id/控件名"
android:text按钮上方的说明
android:textAllCaps="false | true"设置按钮说明文字自动大写
注意:需要将布局改为LinearLayout,并且带上android:orientation="vertical"意思是采用垂直布局
1.监听方式一:匿名内部类
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
//逻辑代码
}
});
2.监听方法二:调用方法
....onCreate(Bundle savedInstanceState){
.....
button.setOnClickListener(this);
}
@Override
public void onClick(View v){
//逻辑代码
}
3.EditTexts输入框
android:hint输入框提示文字
android:maxLines指定输入的最大行数,eg:“num”
4.ImageView图片展示
android:src图片视图插入图片
setImageResource()设置图片
5.ProgressBar进度条
android:visibility可见属性。visible(可见) | invisible(不可见) | gone(不仅不可见且不占用屏幕空间)
setVisibility()传入得三个值。View.VISIBLE View.INVISIBLE View.GONE
style设置进度条的样式
6.AlertDialog对话框
此对话框置顶与所有界面元素之上,能屏蔽其他控件的交互能力。一般用于提示一些非常重要的内容或者警告信息。
dialog.setTitle设置对话框的标题
setMessage()设置提示信息
dialog.setPositiveButton()设置确认按钮
dialog.setNegativeButton()设置取消按钮
7.ProgressDialog与AlertDialog类似,具有进度条
setTitle()设置标题
setMessage()设置提示信息
setCancelable()设置退出为真,true表示可以通过back取消,false表示不行
dismiss()关闭对话框
8.ListView滚动控件
利用适配器将数组中得数据和ListView相关联
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this,android.R.layout.simple_list_item_1,data);
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(adapter);
getView()方法中得convertView参数,用于将之前加载好得布局进行缓存,以便于重用。
新建内部类对于控件进行控件缓存。进行应用的性能优化。
public View getView(int position, View convertView, ViewGroup parent) {
Fruit fruit = (Fruit)getItem(position);
View view;
ViewHolder viewHolder;
if(convertView==null){
view = LayoutInflater.from(getContext()).inflate(resourceId,parent,false);
viewHolder = new ViewHolder();
viewHolder.fruitImage = (ImageView) view.findViewById(R.id.fruit_image);
viewHolder.fruitName = (TextView) view.findViewById(R.id.fruit_name);
view.setTag(viewHolder);
}else {
view = convertView;
viewHolder = (viewHolder)view.getTag();
}
viewHolder.fruitImage.setImageResource(fruit.getImageId());
viewHolder.fruitName.setText(fruit.getName());
return view;
}
class ViewHolder{
ImageView fruitImage;
TextView fruitName;
}
9.RecyclerView——增强版的ListView
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:recyclerview-v7:28.0.0-alpha3'
}
引入依赖闭包。如上最后一行,保持版本号一致。
上一篇: Android的蓝牙数据传输
下一篇: VueJs Study Notes