Android学习笔记(一)

1. Android的HelloWorld

1.src目录存放源代码;gen目录是工具帮我们生成的,不可修改;R.java里面的id为res文件夹下的文件或者xml文件中的键值对相对应的。assets文件夹也可以存放文件,这和res文件夹的不同在于,assets文件夹中的文件是不会在R.java中生成id的。

2.在Manifest.xml文件中,哪个Activity中定义有以下语句,这个Activity就是程序的主入口。

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

2. Activity的生命周期

  第一次启动Activity时,调用OnCreate方法;

  当Activity处于可见状态时,调用Onstart方法;

  当获得用户的焦点的时候,调用OnRestart方法;

  当被另一个Activity中断的时候,调用OnStop方法;

  当重新唤醒Activity时,如果该Activity没有被销毁,调用OnRestart

  如果已经被销毁,则依次调用OnCreate,OnStart和OnResume

  启动一个Activity的时候,会依次调用OnCreate,OnStart和OnResume三个方法。如果一个Activity(设为A)被另一个Activity(设为B)完全遮挡,则会依次调用A的OnPause,B的OnCreate,OnStart和OnResume三个方法,A的OnStop方法,如果A没有被完全遮挡,则不会调用A的OnStop方法。如果手动调用finish方法或者操作系统的系统资源不够用的时候,则将会调用该A(此时A不可见)的OnDestroy方法。

       如果要实现窗口风格(不是全屏的)的Activity,只需要在Manifest.xml文件中对该Activity添加如下的属性声明:

       android:style/Theme.Dialog

3. Activity布局初步

  android:strechColumns="1"表示在TableLayout中,如果内容不足以撑满父控件,则被拉伸的列为第2列,从0开始。

  TableLayout的布局:

<TableLayout xmlns:…….>
   <TableRow>
       各种控件声明
   </TableRow>
  <TableRow>
       各种控件声明
    </TableRow>
</TableLayout>

  android:layout_width=”fill_parent”

  android:layout_width=”match_parent”

  fill_parent和match_parent的区别:

  其实这两个的作用是一样的,在AndroidAPI8以后,fill_parent被弃用,取而代之的是match_parent.

       android:layout_above                将该控件的底部放于给定的ID上

  android:layout_below

  android:layout_toLeftOf

  android:layout_toRightOf

  android:layout_alignBaseLine          该控件的baseline和给定控件的baseline对齐

  android:layout_alignBottom/Left/Right/Top  和给定控件的边缘对齐

  android:layout_alignParentBottom/Left/Right/Top=“true”和父控件边缘对齐

  android:layout_centerHorizontal =”true”  水平居中

  android:layout_centerInParent=”true”            水平垂直居中

  android:layout_centerVertical=”true”              垂直居中

4. Android常用控件

  1.RadioGroup的监听器为:setOnCheckedChangeListener,需要实现的接口为RadioGroup.OncheckedChangeListener

CheckBox的监听器也为:setOnCheckedChangeListener,但它需要实现的接口为CompoundButton.OncheckedChangeListener

  2.可以使用下面一句为用户显示提示信息:

  Toast.makeText(MainActivity.this, "显示的文字", Toast.LENGTH_SHORT).show();

  3.android:visibility=”gone”表示当前控件不可见。

  该属性有三个值:visible, invisible, gone. 这三个值分别对应View.visible, View.invisible和View.gone。其中:

  visible:可见

  invisible:不可见,但这个View仍然会占用在xml文件中分配的布局空间

  gone:不可见,但这个View在ViewGroup中不保留位置,会重新Layout,不占用空间,后面的View会占用它的位置。

  4.在<ProgressBar>标签中,进度条默认的最大值是100,也可以通过android:max属性来修改该值。例如:android:max=”200”.还可以在程序中通过progressBar.setMax(200)来设置。

  5.设置窗口全屏

       5.1.可以在程序中使用下面两句话设置:

       requestWindowFeature(Window.FEATURE_NO_TITLE);//不显示程序的标题栏

       getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

       WindowManager.LayoutParams.FLAG_FULLSCREEN);//不显示系统的标题栏

       setContentView(R.layout.activity_main);

       这两句话可以设置程序为全屏,但是一定要放在setContentView的前面。

       5.2.也可以通过修改Manifest.xml文件来实现程序的全屏。

       可以修改<application>标签或<activity>标签的属性值来实现。他们的区别是修改<application>标签后所有的Activity都会全屏,而修改<activity>后只对当前的Activity有效。

       在< application >或<activity>标签(根据需要而定)添加:      android:theme="@android :style/Theme.NoTitleBar.Fullscreen" 即可实现。 

       6. 获取屏幕的宽度和高度,使用以下代码即可

       int screenWidth, screenHeight;

       WindowManager windowManager = getWindowManager();

       Display display = windowManager.getDefaultDisplay();

       screenWidth = display.getWidth();

       screenHeight = display.getHeight();


你可能感兴趣的:(android,笔记)