To quickly open any class in the editor,press⌘O(Navigate | Class)
You can open any file in your project in a similar way by using⇧⌘O(Navigate | File).
To quickly see the documentation for the class or method used at the editor's caret,press F
Cmd + click
⇧F6换所有的地方
⌘N getter setter
app--12宫格显示图片
kaixinxiaoxiaole--按钮的相对布局
javacontrollayout--有点击事件/用Java重写xml布局
rabbit--图片在背景图片下的手动移动,ActionView自建actionbar--actionViewClass和actionLayout),画图paint,canvas
PaintCanvasAnimation--画矩形,DrawText,读取SD卡,Bitmap,BitmapFactory
buttonclick--点击事件
AlterAndChoose--Radiobutton的选择并且弹出对话框,四种AlertDialog.Builder
weixinlinerlayout--登录界面
friend--朋友圈界面(混合布局)长按事件onLongClickListener,举报; 上下文菜单;显示隐藏ActionBar
DatePicker--日期选择器,以及java对日子的处理https://www.cnblogs.com/xqz0618/p/12156241.html这个简洁好看
Chronometer--计时器,60秒停止
ProgressBar--是个View类,进度条,开了另一个线程thread,用了handler,好难。。进度条SeekBar也写在了上面,用图片thumb;https://www.tutorialspoint.com/android/android_progress_circle.htm
TimePicker--时间选择器,isIndicator是否用作指示,用户无法更改,android:stepSize,,闹钟
RatingBar--星际评分条
ImageView--(图像视图)https://www.runoob.com/w3cnote/android-tutorial-imageview.html https://www.cnblogs.com/xqz0618/p/imageview.html
微信登录----因为是orientation="vertical",所以老师把登录两个字改成了图片用的drawable:left来放在左边,因为只能按列移动,横向不行除非再次包裹一圈linelayout然后设置水平。里面还改了主题颜色(manifest--lable和theme改了)EditText;输入密码变登录按钮颜色drawable enable;改变主题theme;<style>属性可以继承parent="@style/AppTheme; Menu菜单栏;ActionBar...跳转到相应的页面
ImageSwitcher--图片切换下一张那种???????太复杂https://www.tutorialspoint.com/android/android_imageswitcher.htm
https://www.bilibili.com/video/av22836860?p=61
GridAdapter--网格(GridView实例),把图片资源通过适配器SimpleAdapter展出出来,第二个例子是BaseAdapter改写, 还有点按钮启动第二个activity的方法,intent和bundle传递数据,intent component属性;bundle只能传0.5m数据,多了就会 OOM,全称“Out Of Memory”;跳转网址去第三个activity并且用actionbar返回
ListView--列表,用了SimpleAdapter
TabHost--选项卡
*(没成功图片有问题)ChooseProfilePicture--点击按钮,跳到另一页里选择一个图片,然后把图片放到第一页
FragmentNavigator--按不同导航栏,页面显示不同内容https://www.runoob.com/w3cnote/android-tutorial-fragment-demo1.html
CallMessage--intent.setAction;打电话,发短信,返回桌面intent.addCategory;onKeyUp,System.currentTimeMillis(),动态设置textView.setText(getResources().getString(R.string.motto)); 改Sdk版本1.project 2.找到demo文件名3.build.gradle 文件里面minSdkVersion15
GestureDetector----flipping翻动相册https://www.bilibili.com/video/av22836860?p=103 https://www.runoob.com/w3cnote/android-tutorial-gestures.html
ScreenOrientation--翻转页面数据不丢失,固定竖屏:activity下面去添一句话: android:screenOrientation="portrait";国际化,变换语言后的对应
ViewModel--JetPack里的新属性,翻转页面不需要去保存数据
1. 一个project下有很多个module,一个module相当于一个小程序,比如微信啊,打电话啊。
2.app就是一个module
3.activity_main.xml就是一个布局文件
4.R文件创建错误的解决方法
Build—>Clean project
5.layout_width="wrap_content" 就是下面的组件根据自身大小来决定这个layout的宽度,就是子键多大,它就多大。layout_marginLeft(也可以叫Start)就是这个组周围的margin
6.text可以直接在xml里面输入,也可以引用values下面的strings.xml把字先设定好;Text还有testSize,testColor等; 背景图片可以先拷贝到mipmap同级目录下,之后引用android:background="@mipmap/bg"
7.FrameLayout帧布局管理器一般是自定义view用,一层层的覆盖上去,像z-index,比如做一个钟,时针分针秒针堆叠上去。关键词foreground一般选择一张图表示一直在最上面那层不能被覆盖,foregroundGravity把这层放在哪儿right|bottom,而且会变成本来大小而不是全部覆盖
RelativeLayout需要确定以哪个点为参考点,比如教室中间那个学生,其他学生挨着他就是参考他。两个关键选项android:gravity="center";居中显示。 android:ignore="@id/下面text的id"这个不受控制
https://www.runoob.com/w3cnote/android-tutorial-relativelayout.html
GridLayout网格布局管理器----https://www.runoob.com/w3cnote/android-tutorial-gridlayout.html直接看计算器的一个设计图。注意点:android:layout_rowSpan与android:layout_columnSpan设置了组件横跨 多行或者多列的话,如果你要让组件填满横越过的行或列的话,需要添加下面这个属性: android:layout_gravity = "fill";drawable的focus属性改变TextEidor背景色
LinearLayout线型布局管理器:两个关键点一:android:orientation="horizontal"横竖选择 二weight权重:是分配剩余的一人一半
TableLayout表格管理器
https://www.runoob.com/w3cnote/android-tutorial-tablelayout.html
android:collapseColumns:设置需要被隐藏的列的序号
android:shrinkColumns:设置允许被收缩的列的列序号
android:stretchColumns:设置运行被拉伸的列的列序号
以上这三个属性的列号都是从0开始算的,比如shrinkColunmns = "2",对应的是第三列!
可以设置多个,用逗号隔开比如"0,2",如果是所有列都生效,则用"*"号即可
除了这三个常用属性,还有两个属性,分别就是跳格子以及合并单元格,这和HTML中的Table类似:
android:layout_column="2":表示的就是跳过第二个,直接显示到第三个格子处,从1开始算的!
android:layout_span="4":表示合并4个单元格,也就说这个组件占4个单元格
8.可在xml里面编写布局,也可直接在java代码里写布局
UI组件
ViewText:singleLine=”true“,显示不到的排到后面;minLines=3至少有三行,没有后面空的要留出高度;maxWidth=180dp把文本宽度调好才好换行,文本框添加一个背景图
EditText:hint,input="password":textColorHint提示的颜色,drawableStart添加一个图放在文字左边,getText拿到输入内容,capitalize(sentences:仅第一个字母大写words:每一个单词首字母大小characters:每一个英文字母都大写0
ImageView:scaletype=FitXY图片就会撑满
ImageButton:#0000变成透明不然下面是默认的灰色
autoLink属性识别链接类型
只允许横屏显示:Adroid:sceenOrientation="landscape" 添加在activity下面
Log.d(msg, "The onStart() event");
Adapter
是用来帮助填充数据的中建桥梁,简单点说就是:将各种数据以合适的形式显示到view上,提供给用户看。而这个Adapter则是中间的这个Controller的部分: Model(数据) ---> Controller(以什么方式显示到)---> View(用户界面) 这就是简单MVC组件的简单理解!
Log.d(msg, "The onStart() event");
Activity
--有很多基本功能都有了
https://www.runoob.com/w3cnote/android-tutorial-activity.html
刷新onCreate(null)
Intent
intent.setFlags NO_HISTORY退出就直接退出了;intent.setAction (SENTO);打电话,发短信,返回桌面intent.addCategory (HOME) 总结的很好https://www.runoob.com/w3cnote/android-tutorial-intent-base.html
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fg_content, container, false); tv_content = (TextView) view.findViewById(R.id.tv_content); String text = getArguments().getString("text"); tv_content.setText(text); return view; }
EnventListener
Android事件处理机制中的基于回调的事件处理机制进行了讲解!核心就是事件传播的顺序 监听器优先,然后到View组件自身,最后再到Activity;返回值false继续传播,true终止传播~!
九图
https://www.bilibili.com/video/av22836860?p=114
Toolbar代替Actionbar
<!--这里是代替actionbar的,当然可以设置在baseactivity中通用,然后include进来--><android.support.v7.widget.Toolbarandroid:id="@+id/toolbar"xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:background="?attr/colorPrimary"android:layout_height="wrap_content"android:minHeight="?attr/actionBarSize"></android.support.v7.widget.Toolbar>
https://www.jianshu.com/p/81d0bcb282cb
Notification通知 Broadcast广播
.使用系统定义好的color:
比如:BLACK(黑色),BLUE(蓝色),CYAN(青色),GRAY(灰色),GREEN(绿色),RED(红色),WRITE(白色),YELLOW(黄色)! 用法: btn.setBackgroundColor(Color.BLUE); 也可以获得系统颜色再设置:
int getcolor = Resources.getSystem().getColor(android.R.color.holo_green_light);
btn.setBackgroundColor(getcolor);
xml中使用:android:background="@android:color/black"
魔法棒,