您的位置:首页 > 移动开发 > Android开发

Android阶段学习笔记7.15-7.17之 基础控件

2016-07-16 09:51 519 查看
看慕课学院学习笔记以及遇到的bug汇总

初学安卓,我的笔记,我用的是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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android android studio