Android基础教程笔记
1.1Android相关基础知识
基于Linux的开源操作系统
IOS和Android区别:最大区别,IOS封闭操作系统,Android开源操作系统
1.2Android系统架构
Dvm和JVM区别
DVM基于寄存器,编译和运行较快,JVM基于栈
DVM执行.dex格式字节码,对.class文件压缩后产生的,文件小,JVM执行.class格式的字节码
2.1UI组件
线性布局(LinearLayout)建议使用
orientation取值两个:vertical垂直,horizontal水平
gravity 位置布局 取值 left,right,center
weight 权重:把剩余空间(总空间-全部的layout_width/layout_height)按照权重去分配
相对布局(RelativeLayout)参照布局
toLeftOf,toRightOf,alignButton,alignParentBottom,below都是根据参照物来进行布局的
2.2TextView
maxLines=“数字”行数限制,若空间不足则多余的不会显示,不添加这个标签会自动添加行数直至全部显示
ellipsize=“end” 对maxLined显示不了的文本进行提示,会在文本末尾加入...
drawableRight在文本右边添加图片(上下左右都有)drawablePadding图片边距
id.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG)中划线,写在Activity里面
id.getPaint().setAntiAlias(true)去除锯齿,同样写在Activity里面配合中划线使用
id.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG)下划线,写在Activity里面
id.setText(Html.fromHtml("文本"))下划线,写在Activity里面,可以使用HTML代码
singleLine="true"单行显示//已经被弃用,但必须设置才能达到效果
ellipsize=“marquee”文本跑马
marqueeRepeatLimit=“marquee_forever”跑马次数设置永久
focusable=“true”
focusableInTouchMode=“true”焦聚 配合跑马使用
2.3Button
textAllCaps="false"取消按钮自动转换为大写字母,恢复成text所设置内容
background可以设置样式,取值可以是drawable
drawable文件下可以创建shape文件,对按钮进行样式设置
android:shape="rectangle" 长方形框架
stroke标签 设置边框


corner标签 设置圆角
drawable文件下创建selector文件

android:state_pressed=“true”设置点击时的效果
android:state_pressed=“false”设置非点击时的效果
可以直接在layout上写点击事件:直接调用方法
2.4EditText
android:hint="请输入"在输入框中写入提示语句
android:inputType="number/password"弹出数字键盘/输入数据转为暗文
可以通过背景调用@drawable对输入框进行样式修改
2.5RadioButton
//RadioGroup中可以使用oritation
android:checked="true"设置默认值,注意要对所有的RadioButton设置默认值,否则会失效
android:button="@null"取消单选按钮的选中圆圈,但要注意设置选中效果
background属性:drawable中设置android:state_checked="true/false",对选中和未选中设置样式
2.6复选框CheckBox
设置样式用android:button="@drawable"
2.7ImageView
android:src="图片"
android:scaleType="属性"设置图片拉伸、平铺、缩放
fitXY--拉伸至铺满
fitCenter--上下或左右到达最大,另一边会多出空间
centerCrop--上下或左右到达最大,多的一边会裁剪
第三方开源库调用图片--github搜索glide
Android studio可以通过Gradle调用第三方库
第三方软件库会有对应的调用图片的方法
2.8ListView
ListViewActivity和ListViewAdapt
ListViewActivity创建ListView,设置list样式,设置item点击效果
ListViewAdapter设置item样式
~~~ListViewActivity
listview.setAdapter(new MyListViewAdapt(ListViewActivity.this)绑定Adapt
listview.setOnItemClickListener()设置单击监听器
listView.setOnItemLongClickListener()设置长按监听器
return false/true 结束后执行/不执行单击效果
~~~ListViewAdapt 继承BaseAdapter
MyListViewAdapt(Context context)创建绑定方法
getCount(){return number} number是多少列表有多少给item
getView()

~~~list_view_activity
android:listSelector="@drawable"设置item点击样式
android:divider="@color"设置分割线颜色
android:dividerHeight="_dp"设置分割线宽度
2.9网格视图GridView
--与ListView基本一致
android:numColumns="number" gridView可以有几列
android:horizontalSpacing="10dp"设置水平间距
android:verticalSpacing="10dp"设置垂直间距
2.10滚动视图ScrollView
与LinearLayout和RelativityLayout是同一种标签
ScrollView只能有一个子元素
竖直滚动ScrollView
水平滚动HorizontalScrollView
2.11RecyclerView---最强视图
使用会相对麻烦,没有类似于ListView的onItemClickListener监听事件,需要开发者自己实现
使用需要在Gradle中引用包——implementation 'androidx.recyclerview:recyclerview:1.0.0'
2.11.1列表视图
RecycleViewActivity跳转到页面LineaRecyclerViewActivity
mRvMain.setLayoutManager(new LinearLayoutManager(LinearRecyclerViewActivity.this));
用于声明设置的是哪种管理器(此处为LinearLayout线性管理器)
mRvMain.setAdapt创建Adapt
在LinearAdapt中创建泛型
将原本的RecyclerView.ViewHolder改为LinearViewHolder
太难了写不下去,直接去看代码
2.12WebView
加载网页 加载URL
加载html代码
Native和JavaScript相互调用
加载Url webview.loadUrl("http://www.tiantiantech.cn")
加载HTML文件 webview.loadUrl("file:///android_asset/test.html")
加载html代码 webview.loadData();有事会出现乱码
webview.loadDataWithBaseURL();
网页的前进后退
webview.canGoBack()
webview.goBack()
webview.canGoBackOrForward(int steps)
要导入的html放入mian文件夹下的assets文件夹内
webView.getSettings().setJavaScriotEnabled(true)打开浏览器网页必须设置
public boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode==KeyEvent.KEYCODE_BACK&&my_webView.canGoBack()) {my_webView.goBack();return true;}return super.onKeyDown(keyCode, event);
}
防止按返回键直接退回到上一个activity
第三章 UI组件之弹出组件
3-1 Toas---消息提示组件
基本:Toast.makeText(getApplicationContext()," ",Toast.LENGTH_LONG).show()
居中:
Toast toast=makeText(getApplicationContext()," ",Toast.LENGTH_LONG)
toast,setGravity(Gravity.CENTER,0,0)'
toast.show();
自定义(可以设置图片):
Toast toast=new Toast(getApplicationContext());
LayoutInflater inflater=LayoutInflater.from(ToastActivity.this);
View view=inflater.inflater(R.layout. .null);
ImageView imageView=(ImageView)view.findViewByid(R.id. );
toast.setView(view);
toast.show();
3.2AlertDialog
基础 AlertDialog.Builder builder=new AlterDialog.Builder( Activity.this);
builder.setTitle("标题").setMessage("内容").setPositiviteButton("点击事件",new OnClickListener()) .setNeutralButton("点击事件",new OnClickListener()).setNegativeButton("点击事件",new OnClick())
单选(1)
final String[] array=new String[]{};
AlertDialog.Builder builder=new AlterDialog.Builder( Activity.this);
builder.setItem(array,new DialogInterface.OnClickListener());
单选(2)
builder.setSingleChoiceItems(array,默认选中位置,new DialogInterface.OnClickListener())
多选
String[] array=new String[]{1,2,3}
boolean[] 是否选中=new boolean[]{true,true,false}
builder.setMultiChoiceItems(array,boolean数组,new DialogInterface.OnMultiChoiceClickListener()
直接弹出页面
AlterDialog.Builder builder=new AlterDialog.Builder(DialogActivity.this);
View view =LayoutInflater.from(DialogActivity.this).inflate(R,layout ,null);
接着绑定id
builder.setView(view).show();
关闭dialog: dialog.dismiss();
3.3progressBar&&ProgressDialog
style标签可以更改progressBar的样式
横向progressBar 标签 max设置最大值 progress设置当前值 secondarProgress二级值
图标 element设置成animated-rotate,旋转图片
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
