android 學習筆記(1)

來源:互聯網
上載者:User

標籤:

 

  內容來源:高成珍、鐘元生《Android編程經典案例》學習筆記

 

表格版面配置——TableLayout

        表格版面配置以行和列的方式來管理介面的布局,但並不能明確聲明包含幾行幾列。可通過TableRow來增加行,然後再在其中添加其他控制項

         表格的常用屬性:

android:collapseClolumns---------隱藏指定的列

android:shrinkColumns:----------壓縮指定的列

android:stretchColumns----------擴充指定的列

android:layout_column-----------指定控制項所在TableRow 中 所處的列

android:layout_span-------------指定某一控制項所跨越的列數

 

自訂定義shape類型:

        建立一個rect.xml文檔:

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"      android:shape="rectangle">  <solid 
    android:color="#00000000"/>  <padding
    android:left="5dp"    android:top="5dp"    android:right="5dp"    android:bottom="5dp"/>  <stroke    android:width="2dp"    android:color="#000000"/></shape>

 

 

橫屏顯示:

方式1:在AndroidManifestxml資訊清單檔中對需要橫屏顯示的Activity添加 android:screenOrientation="landscape" 屬性

方式2:在代碼中進行判斷:

if(getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)

{

  setRequestedOrientation(ActivityInfo.ORIENTATION_LANDSCAPE);

}

 

相對布局(RelativeLayout)中的常用屬性:

android:layout_centerHorizontal------設定組件是否在父容器中水平置中

android:layout_centerVertical

android:layout_centerInParent--------設定組件是否在父容器中正中央位置

android:layout_alignParentTop-------------設定組件是否與父容器的頂端對齊

android:layout_alignParentBottom

android:layout_alignParentLeft

android:layout_alignParentRight

android:layout_alignTop-------------------指定該組件位於給定的ID的控制項的上方

android:layout_alignBottom

android:layout_alignLeft

android:layout_alignRight

android:layout_toRightOf------------------指定該組件位於給定的ID的控制項的右側

android:layout_toLeftOf

android:layout_above

android:layout_below

 

幀布局(FrameLayout):

        在布局中每個控制項獨自佔一幀或一層,該層中未包含內容的部分將是透明的。控制項添加的順序即層疊加的順序,

後面添加的控制項將會覆蓋前面的控制項。控制項的位置可以通過android:layout_grabity 的屬性來設定。通過層布局能

夠很方便地實現多個控制項疊加或漸層的效果

 

關於定時器Timer:

      定時器建立的線程屬於子線程,不能對UI進行直接操作。Android中介面操作是非安全執行緒的,即當多個線程對

其進行操作時結可能不一致。為了避免出現這種情況,Android中規定,所有的UI操作只能放在主線程中。

 

Handler 訊息傳遞:

      Handler可以為線程之間的通訊提供訊息傳遞,當Handler的發送訊息成功時,將調用Handler類的

handleMessage(Message msg)方法;Handler類的主要方法有:

public void handleMessage(Message msg);//---擷取並處理資訊

public final boolean sendEmptyMessage(int what);//---發送一個只含有標誌的訊息

public final boolean hasMessage(int what);//---監測訊息佇列中是否含有標記的訊息

public final boolean post(Runable r);----將一個線程添加到訊息佇列中

 

Message 類:

public Message();//---構造方法,推薦使用Message.Obtain();

public void copyFrom(Message msg);//---複製指定的內容

public long getWhen();//---擷取訊息發送的時間,單位為ms

public Bundle getData();//---擷取訊息中的資料

public static Message obtain();//---從訊息池中擷取一個訊息

public void setData(Bundle data);//---向訊息中寫入資料

public void setTarget(Handler target).//---設定訊息的目標對象

 

android 學習筆記(1)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.