2012年1月31日星期二

下載 Android 為操作欄(action bar)提供的圖標(action icons)

為了進一步在操作欄(action bar)中提供一個一致的用戶體驗, Android UX 團隊提供一些預先設計的動作圖標(action icons), 以供使用. 這些圖標專為 light 以及 dark Holo 主題而設, 支持常見的用戶操作, 如刷新(Refresh), 刪除(Delete), 附加(Attach), 星(Star), 分享(Share)...等等, 可以從這裡下載.
action icons

Android 開發人員的 Google+ 專頁

+Android Developers
Google 宣布推出 Android 開發人員的 Google+ 專頁 - +Android Developers.

+Android Developers 專頁為世界各地的開發者提供一個聚會和討論最新應用程序開發信息的地方. 谷歌會在+Android Developers 專頁發表有關開發技巧,SDK和開發工具,Android培訓班的信息, 以及來自世界各地 Android 開發者活動的視頻和圖片.

了解更多: Android Developers Blog - Android Developers on Google+

2012年1月30日星期一

通過 XML 創建 Android 3.0 的操作欄(ActionBar)

通過 XML 創建 Android 3.0 的操作欄(ActionBar)
先創建 /res/menu/menu.xml 定義操作欄(ActionBar).
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/itemid_0"
android:title="Action Item 0"
android:orderInCategory="0" />
<item android:id="@+id/itemid_1"
android:title="Action Item 1"
android:orderInCategory="0" />
<item android:id="@+id/itemid_2"
android:title="Action Item 2"
android:orderInCategory="0" />
<item android:id="@+id/itemid_3"
android:title="Action Item 3"
android:orderInCategory="0" />
</menu>


在Java主代碼中重寫 onCreateOptionsMenu(Menu menu) 方法, 使用 getMenuInflater().inflate(R.menu.menu, menu) 實現操作欄(ActionBar).
package com.Android3ActionBar;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;

public class Android3ActionBarActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
}


相關文章:
- 添加動作欄(Action Bar)圖標(icon)

2012年1月24日星期二

通過XML文件, 創建片段(Fragment)

前文"Android 3.0 新增的片段(Fragment)"的MyFragment.java類使用Java程序碼創建片段(Fragment). 本例修改MyFragment.java, 使用inflater類的inflate()方法, 通過XML文件, 創建片段(Fragment).

通過XML文件, 創建片段(Fragment)

- 建立新的XML文件, /res/layout/fragment1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="FRAGMENT HERE" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
</LinearLayout>


- 修改MyFragment.java
package com.android3Frag;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


public class MyFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment1, container, false);

return view;
}

}


- 沿用前文的main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<TextView
android:layout_width="0px"
android:layout_weight="2"
android:layout_height="match_parent"
android:text="@string/hello"/>
<fragment
class="com.android3Frag.MyFragment"
android:id="@+id/myfragment"
android:layout_width="0px"
android:layout_weight="3"
android:layout_height="match_parent"/>

</LinearLayout>


2012年1月16日星期一

Android 3.0 新增的片段(Fragment)

Android 3.0 新增片段(Fragment), 可以理解為類似嵌入活動(activity)內的一個子活動.

這是一個簡單的例子:

Android 3.0 新增的片段(Fragment)

在Eclipse創建一個新項目, Android3Frag; 要注意是: 建設目標(Build Targe)必須是 Android 3.0 (API Level 11)或更高.

先通過擴展 Fragment 創建一個 MyFragment 類, 並且重寫onCreateView()方法. 這便是我們的片段(Fragment).
package com.android3Frag;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;


public class MyFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Context context = getActivity().getApplicationContext();
LinearLayout layout = new LinearLayout(context);
TextView text = new TextView(context);
text.setText("FRAGMENT HERE");

ImageView image = new ImageView(context);
image.setImageDrawable(getResources().getDrawable(R.drawable.ic_launcher));

layout.addView(text);
layout.addView(image);

return layout;
}

}


修改佈局, main.xml.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<TextView
android:layout_width="0px"
android:layout_weight="2"
android:layout_height="match_parent"
android:text="@string/hello"/>
<fragment
class="com.android3Frag.MyFragment"
android:id="@+id/myfragment"
android:layout_width="0px"
android:layout_weight="3"
android:layout_height="match_parent"/>

</LinearLayout>



相關文章:
- 通過XML文件, 創建片段(Fragment)

2012年1月13日星期五

谷歌發布Android設計網站 (Android Design)

Android設計網站 (Android Design)
谷歌推出Android設計網站(Android Design), 幫助學習創建Android用戶界面的設計原則, 構建組件塊, 以及設計模式. 無論你是UI專業人才或是開發用戶界面的開發人員,這些文件告訴你如何使良好的設計決策。

詳細參考: Android Developers Blog - Introducing the Android Design site

2012年1月11日星期三