目前日期文章:201408 (23)

瀏覽方式: 標題列表 簡短摘要

為了更好的管理Android應用的用戶界面裡的個組件,Android提供了佈局管理器,通過佈局管理器,Android應用的圖形用戶界面具有良好的平台無關性。這裡什麼叫平台的無關性呢?就是說不同手機。我們知道不同手機它們的屏幕的分辨率、尺寸並不完全相同,而Android的佈局管理器可以根據運行平台來調整組件的大小,而我們所需要做的就是選擇合適的佈局管理器。

 與Swing編程不同的是,Android的佈局管理器本身就是一個UI組件,所有的佈局管理器都是ViewGroup的子類:

 

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

在 Android 中,

你可以利用排版 View 的 addView 函數,

將動態產生的 View 物件加入到排版 View 中,

範例如下 :

 main.xml 部份內容
<LinearLayout
android:id="@+id/viewObj"

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

上一篇介紹過如何使用LinearLayout進行元件佈局,但是單靠一種排版方式,設計出來的介面並不豐富,所以Android也有提供其它的排版方式,本篇將介紹如何使用RelativeLayout(相對佈局)進行排版。其它的排版方式會陸陸續續的介紹!!

  • 使用RelativeLayout進行元件佈局

   跟上一篇不同的地方是將包覆元件的容器改成RelativeLayout,本範例使用一個RelativeLayout來包覆4個Button元件,並定義一些元件屬性完成元件佈局.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button
    android:id="@+id/Button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button1"
    />
<Button
    android:id="@+id/Button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button2"
    android:layout_below="@+id/Button1"
    android:layout_toRightOf="@+id/Button1"
    />
<Button
    android:id="@+id/Button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button3"
    android:layout_toRightOf="@+id/Button2"
    android:layout_above="@+id/Button2"
    />
 <Button
    android:id="@+id/Button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button4"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    />
</RelativeLayout>

 

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

 

 


Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

To fetch images on SD Card.Uri will be

android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI

onActivityResult method:

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

若Activity中的內容太多,或是ListView的項目超過畫面 可以在Activity加上捲軸

畫面上方加上

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

Bitmap b =BitmapFactory.decodeByteArray(imageAsBytes,0, imageAsBytes.length)
profileImage.setImageBitmap(Bitmap.createScaledBitmap(b,120,120,false));

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

按鈕在許多windows視窗應用程式中,是最常見的「控制項controls」,然而由按鈕所觸發的事件處理,稱之為Even Handler,只不過在android的世界裡,按鈕事件是由系統的Button.onClickListener所控制。 

小試身手小範例:

Activity中佈局一個Button,並設計這個按鈕的事件處理,當按下時就變更TextView的字。按鈕事件裡面被覆寫的onClick(View v)方法,此方法唯一的參數是View型態的變數v,這個變數所指的是來自父層(parent)中的ContentView,因此可透過「v.*」來改變父層view的狀態或屬性。

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

半透明<Button android:background="#e0000000" ... />
透明<Button android:background="#00000000" ... />


Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

在Eclipse中新增一個專案的時候,會出現下面這個精靈來設定應用程式的圖示。如果未來想要更改這個啟動圖示,可以照以下步驟進行。
launcher icons setup wizard


Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

ActionBar在Android 3.0 SDK中為平板引入,在4.0中也可以在phone中使用。在title中提供類似tab和菜單的效果,有三種形式:Tabbed action bar,list action bar和standard action bar,我們將在小例子中進行示範。

Home Icon

在Action Bar的最左邊,就是Home icon和標題的區域,如上圖紅圈內。在Home icon的左邊有一個返回的的左箭頭,通常我們點擊這個區域,將回到應用的主activity中。圖中的activity是通過主activity的菜單觸發,之前已經多次使用,不在重複。activity的layout很簡單,只有一個textview在LinearLayout中,其代碼如下:

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

1.px (pixels)像素 – 是像素,就是屏幕上實際的像素點單位。
 dip或dp (device independent pixels)設備獨立像素, 與設備屏幕有關。
 sp (scaled pixels — best for text size):類似dp, 主要處理字體的大小。

dpi(dot per inch):屏幕像素密度,每英吋多少像素

density:density表示每英吋有多少個顯示點(邏輯值),它的單位是dpi

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

以下程式碼將示範如何將Bitmap轉為指定格式的圖片並儲存至外部儲存裝置SDCard。


若要寫入SDCard,必須先將寫入外部儲存裝置的權限打開,於Android專案的AndroidMaifest.xml中加入以下敘述。

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

Android想切換新的Activity的時候
最常用的兩個函式就是startActivity跟startActivityForResult
比方說我想讓程式去開一個網頁就可以用

Uri uri=Uri.parse("http://www.google.com.tw");
Intent i=new Intent(Intent.ACTION_VIEW,uri);

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近在研究可以開啟手機相機功能,拍完照取出照片的方法。爬了許多文章,發現光是開啟相機前置處理就會影響取出相片時的處理方法。

最基本的調用相機方法:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(intent, 0);



Intent intent = new Intent(MediaStore.ACTIONIMAGECAPTURE); 這行就是利用intent去開啟Android的照相機介面,再然後拍完照,即呼叫onActivityResult

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

一、禁止屏幕旋轉:

 

打開工程中的 AndroidManifest.xml 文件,在 <activity> </activity> 中,添加一條屬性信息:

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

*res/raw和assets的相同點:

1.兩者目錄下的文件在打包後會原封不動的保存在apk包中,不會被編譯成二進制。


Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

想要儲存一些簡單的資料,
可以使用SharedPreferences來儲存,
假設現在有三個欄位, 分別是名字, 電話和性別,
我不想要離開程式以後, 資料就消失了,
我可以把這些數值利用SharedPreferences存起來。

 

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

1. 介紹

    1)DOM(JAXP Crimson解析器)

    DOM是用與平臺和語言無關的方式表示XML文檔的官方W3C標準。DOM是以層次結構組織的節點或資訊片斷的集合。這個層次結構允許開發人員在樹中尋找特定資訊。分析該結構通常需要載入整個文檔和構造層次結構,然後才能做任何工作。由於它是基於資訊層次的,因而DOM被認為是基於樹或基於物件的。DOM以及廣義的基於樹的處理具有幾個優點。首先,由於樹在記憶體中是持久的,因此可以修改它以便應用程式能對資料和結構作出更改。它還可以在任何時候在樹中上下導航,而不是像SAX那樣是一次性的處理。DOM使用起來也要簡單得多。

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

步驟一:

在res-->layout內新增一個myspinner.xml的android xml檔,貼上下列程式碼

myspinner.xml

1

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()

1 2