Android阶段学习笔记7.15-7.17之 基础控件
2016-07-16 09:51
519 查看
看慕课学院学习笔记以及遇到的bug汇总
初学安卓,我的笔记,我用的是Android Studio1.4.1,版本比较老
因为是自己建的empty activity,因此Activity类中,setContentView链接到xml文件等操作,被忽略。
需要在AndroidManifest.xml中声明自己建的这个activity。
<activity android:name=".Activity类的名字" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2.无法自动生成继承于父类的方法
3.单独运行一个布局小页面,只需到相应java类,右键运行这个activity即可
4.genymotion模拟器下载后无法打开虚拟服务:
开机时进入bios设置打开
另外建第二个模拟器时,提示不能打开虚拟服务,去Virtual Box里右键进入设置,改一下模拟器所在的虚拟电脑类型,就可以了
5.在drawable中设置按钮形状出错
先定义两个textview属性均为
singleLine=true;
ellipsize=marquee;
focusable和 isfocusableInTouchMode均为true
然后写一个MarqueeText继承于Text,生成所有构造方法。
然后实现isFocus()方法,始终return true。
原因是焦点默认只有一个
大牛的总结:
http://www.cnblogs.com/Gaojiecai/archive/2013/06/18/3142783.html
2.mipmap与drawable区别
drawable/用于图片文件(PNG, JPEG , or GIF), .9图片文件 和 XML文件;
mipmap/用于App Launcher图标;
mipmap中ldpi:mdpi:hdpi:xdpi:xxdpi公式为low:medium:high:extra-high:extra-extra-high=3:4:6:8:12
如果我的屏幕是hdpi的,结果我的图片是放到了xhdpi下,那系统会把这张图片进行缩小显示,也就是说我的xhdpi下放了一张30*30的图片,那显示当hdpi屏幕上肯定要比30*30小。
3.sp与dp
sp:文字大小 dp/dip:长度,根据屏幕分辨率设置
px:像素,一般不用
4.监听按钮击事件有三种方法:匿名内部类、外部类、接口
button 监听点击事件 setOnClickListener
ToggleButton setOnCheckedChangeListener
5.输出语句
在activity界面输出:Toast.makeText(MainActivity.this,"输出的内容",1).show();
在运行窗口输出:Log.i("tag","输出内容");
输出控件的text值,要先得到text值:String text = checkBox.getText().toString();,然后输出
6.布局的全局属性中layout_gravity与gravity区别
gravity设置子类在其中的位置
layout_gravity设置其自身,在父类中的位置
并且,多个位置用“|”隔开,例如 center|bottom
Button的gravity属性显示为其text值的位置,效果和paddingLeft等相似
7.TableLayout全局属性:
android:collapseColumns="n" //隐藏第n+1android:shrinkColumns="1|n" //向下收缩第2列android:strechColumns="1" //铺满剩余空间
子类控件属性:
android:layout_column="n" //在第n+1列android:layout_span="n" //占n列
8.页面跳转
无返回结果页面跳转:
在按钮的监听点击事件的onClick方法中
若定义private Context mContext;并在onCreate方法中,初始化mContext=this;MainActivity可替换为mContext。
有返回结果页面跳转:
并在MainActivity中定义
SecondActivity中的监听点击事件的onClick方法中
小知识点:
设置透明度view.setAlpha(0.5f);
更改text值textView.setText(String类型变量);
得到text值String str = et.getText().toString();
更改ImageView背景图片:imgview.setBackgroundResource(R.drawable.图片名);
结束Activity:finish();
2、framelayout实现霓虹灯
3、进度条的不同样式与百分数显示(FrameLayout)
4、计算器
5.Android版本与api对应
开发规范:http://keeganlee.me/post/android/20150709
初学安卓,我的笔记,我用的是Android Studio1.4.1,版本比较老
bug:
1.小绿人上有红叉:因为是自己建的empty activity,因此Activity类中,setContentView链接到xml文件等操作,被忽略。
需要在AndroidManifest.xml中声明自己建的这个activity。
<activity android:name=".Activity类的名字" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2.无法自动生成继承于父类的方法
3.单独运行一个布局小页面,只需到相应java类,右键运行这个activity即可
4.genymotion模拟器下载后无法打开虚拟服务:
开机时进入bios设置打开
另外建第二个模拟器时,提示不能打开虚拟服务,去Virtual Box里右键进入设置,改一下模拟器所在的虚拟电脑类型,就可以了
5.在drawable中设置按钮形状出错
知识点:
1.实现两个跑马灯效果的TextView先定义两个textview属性均为
singleLine=true;
ellipsize=marquee;
focusable和 isfocusableInTouchMode均为true
然后写一个MarqueeText继承于Text,生成所有构造方法。
然后实现isFocus()方法,始终return true。
原因是焦点默认只有一个
大牛的总结:
http://www.cnblogs.com/Gaojiecai/archive/2013/06/18/3142783.html
2.mipmap与drawable区别
drawable/用于图片文件(PNG, JPEG , or GIF), .9图片文件 和 XML文件;
mipmap/用于App Launcher图标;
mipmap中ldpi:mdpi:hdpi:xdpi:xxdpi公式为low:medium:high:extra-high:extra-extra-high=3:4:6:8:12
如果我的屏幕是hdpi的,结果我的图片是放到了xhdpi下,那系统会把这张图片进行缩小显示,也就是说我的xhdpi下放了一张30*30的图片,那显示当hdpi屏幕上肯定要比30*30小。
3.sp与dp
sp:文字大小 dp/dip:长度,根据屏幕分辨率设置
px:像素,一般不用
4.监听按钮击事件有三种方法:匿名内部类、外部类、接口
button 监听点击事件 setOnClickListener
ToggleButton setOnCheckedChangeListener
5.输出语句
在activity界面输出:Toast.makeText(MainActivity.this,"输出的内容",1).show();
在运行窗口输出:Log.i("tag","输出内容");
输出控件的text值,要先得到text值:String text = checkBox.getText().toString();,然后输出
6.布局的全局属性中layout_gravity与gravity区别
gravity设置子类在其中的位置
layout_gravity设置其自身,在父类中的位置
并且,多个位置用“|”隔开,例如 center|bottom
Button的gravity属性显示为其text值的位置,效果和paddingLeft等相似
7.TableLayout全局属性:
android:collapseColumns="n" //隐藏第n+1android:shrinkColumns="1|n" //向下收缩第2列android:strechColumns="1" //铺满剩余空间
子类控件属性:
android:layout_column="n" //在第n+1列android:layout_span="n" //占n列
8.页面跳转
无返回结果页面跳转:
在按钮的监听点击事件的onClick方法中
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
若定义private Context mContext;并在onCreate方法中,初始化mContext=this;MainActivity可替换为mContext。
有返回结果页面跳转:
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent,1);
并在MainActivity中定义
protected void onActivityResult(requestCode,resultCode,Intent data){ if(requestCode==1&&resultCode==2) { String content = data.getStringExtra("key"); textView.setText(content); } }
SecondActivity中的监听点击事件的onClick方法中
Intent data = new Intent(); data.putExtra("key",content); setResult(2,data); finish();
小知识点:
设置透明度view.setAlpha(0.5f);
更改text值textView.setText(String类型变量);
得到text值String str = et.getText().toString();
更改ImageView背景图片:imgview.setBackgroundResource(R.drawable.图片名);
结束Activity:finish();
待解决:
1、手电筒按钮开关与图片变化 与 手机闪光灯等结合。。2、framelayout实现霓虹灯
3、进度条的不同样式与百分数显示(FrameLayout)
4、计算器
5.Android版本与api对应
开发规范:http://keeganlee.me/post/android/20150709
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories