Day 02
1.去标题栏
静态方法: 安卓app运行时优先加载 android manifest.xml 找到对应的标签节点
<application
android:allowBackup="true" ――是不是允许后台运行
android:icon="@drawable/ic_launcher" ---图标
android:label="@string/app_name" -----标签
android:theme="@style/AppTheme">
<activity
android:name="com.example.demo20150303.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
Ctrl+鼠标左键 ――――――――――――――可以找到对应的资源映照
Alt+ / ――――――――――――――――――自动补全代码
<application
android:allowBackup="true"
android:icon="@drawable/change_button"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar"
>
隐藏标题栏
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:theme="@android:style/Theme.Black.NoTitleBar"
设置主启动项(设置首界面)
在androidmanifest.xml
<intent-filter>――――――过滤器――设置主启动项(设置首界面)
<action android:name="android.intent.action.MAIN"/>主入口标识
<category android:name="android.intent.category.LAUNCHER"/> </intent-filter>
1、 注册activity
每需求1个界面,都需要在主配置文件(AndroidManifest.xml)中进行配置。
在application标签内部。
<activityandroid:name="放置界面对应源文件的绝对路径(src中)"></activity>
给activity设置界面
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
在activity.java中找到setContentView,寻觅layout资源。
2、创建Activity界面和布局
1. 创建1个类
Src->package->右击->new->class
Name:****Activity(驼峰式)
点击finish
2. 让****Activity类继承activity
import android.app.Activity;
publicclassThirdActivityextends Activity {
}
3. 重写OnCreate方法
在class里写 OnCreate()
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);//给Activity界面绑定xml视图。
}
4. 重写onCreateOptionsMenu方法【可写可不写】
步骤:
1. 创建并设计layout.xml界面布局
2. 创建XXXActivity.java文件
3. 在主配置文件AndroidManifest.xml文件中,注册Activity
4. 在XXXActivity.java文件中extends Activity并重写OnCreate方法,给Activity界面绑定xml视图
关于Bundle类的解释说明。
Bundle是1个集合:参数:保存实例状态。给系统看,1般程序不需要调用。保存当前activity的状态信息。
界面切换
Activity是主线程,跳转的是子线程。子线程和主线程是并行的竞争关系。不能写在主线程里。(安卓中超过5秒的线程自动崩溃)
1/先让本界面实现歇息2秒――延时跳转
a. 在onCreate方法中,添加匿名内部类:newHandler().postDelayed(r,delayMillis);
b. 将delayMillis替换成2000ms
c. 将r替换成new Runnable方法(另外一个匿名内部类)
d. 在publicvoid run() 方法中,添加 Intent类对象,实现跳转。
Intentit=new Intent(当前界面.this,跳转界面.class);
startActivity(it);
finish();
//我要启动1个意图,这个意图就是从这个页面跳转到另外一个页面)
Activity的管理是通过栈,OnCreate方法只在首次初始化时被调用。
首启动界面后这个线程以后不再被调用,因此可以通过finish()方法杀死(这个线程)。
嵌套类分为两类:
非静态嵌套类,称之为内部类
静态嵌套类
特殊类,如接口,抽象类等,都可作为嵌套类。
Android事件处理机制
在所在的Activity.java文件中的OnCreate方法中添加代码
1声明组件
private ImageButtonmExit;
2组件的初始化
mExit=(ImageButton) findViewById(R.id.imageButton2);
3绑定事件处理器------拜托模型。
mExit.setOnClickListener(l);
4将上面的参数l 替换为 newOnClickListener()
5将鼠标放在OnClickListener()上,导入包:import android.view.View
6在OnClick()中添加代码:XXXActivity.this.finish();
注意:Finish结束当前界面,把栈顶remove掉,不是结束所有的页面也不是退出。System.exit(0);
布局位置关系
坐标原点是左上角(0,0)
centerInParent――――――――在父视图的正中间
centerHorizontal――――――在水平居中
centerVertical――――――在垂直居中
创建相对布局
Layout目录:
右击->new->Android XMLFile->Root Element选中RelativeLayout->布局name:不允许出现大写字母->finish
肯定组件之间的相对关系
alignLeft 和。。。。左对齐
alignRight 和。。。右对齐
alignBottom 和。。。底部对齐
aligntop 和。。。顶部对齐
toLeftOf 在。。。。左侧
toRightOf 在。。。。右侧
above 在。。。。上边
below 在。。。。下边
margin 外边距
marginLeft
marginRight
marginBottom
marginTop
padding 内边距
线性布局LinearLayout
Layout_gravity ――对应的是组件
Gravity――对应的是布局layout
方向设置:android:orientation=“vertical”
位置关系:Gravity=“center”――对应的是布局,设置线性布局里所有组件位置关系
Layout_gravity ――对应的是组件,
每一个组件添加属性:android:layout_weight=”1”
用于线性布局的拉伸。