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”
用于線性布局的拉伸。