顯示具有 Android 標籤的文章。 顯示所有文章
顯示具有 Android 標籤的文章。 顯示所有文章

2014年9月13日 星期六

【Android】ico size

LDPI should be 36 x 36.

MDPI should be 48 x 48.

TVDPI should be 64 x 64.

HDPI should be 72 x 72.

XHDPI should be 96 x 96.

XXHDPI should be 144 x 144.

XXXHDPI should be 192 x 192.

2013年7月8日 星期一

【Android Note】使用 Spinner 元件

1. 在 res > values > 建立一個 xml 檔案,裡面新增一個string array 的item,取名叫 month




2. 撰寫以下程式碼
public class MainActivity extends Activity {

private Spinner monthSpinner;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        monthSpinner = (Spinner) findViewById(R.id.month);
       
        String[] months = getResources().getStringArray(R.array.month);
        ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,months);
       
        monthSpinner.setAdapter(adapter);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
   
}

【Android Note】動態新增元件到 Activity 上

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
     
        mainLinearLayout = new LinearLayout(this);
        mainLinearLayout.setOrientation(LinearLayout.VERTICAL);
        mainLinearLayout.setPadding(16, 16, 16, 16);
     
        toEditText = new EditText(this);
        toEditText.setHint("To");
     
        subjectEditText = new EditText(this);
        subjectEditText.setHint("Subject");
     
        messageEditText = new EditText(this);
        messageEditText.setHint("Message");
        messageEditText.setGravity(Gravity.TOP);
     
        sendButton = new Button(this);
        sendButton.setText("Send");
     
        mainLinearLayout.addView(toEditText);
        mainLinearLayout.addView(subjectEditText);
        mainLinearLayout.addView(messageEditText);
        mainLinearLayout.addView(sendButton);
     
        LinearLayout.LayoutParams messageParam =
        (LayoutParams) messageEditText.getLayoutParams();
        messageParam.weight=1;
        messageEditText.setLayoutParams(messageParam);
     
        LinearLayout.LayoutParams buttonParam =
        (LayoutParams) sendButton.getLayoutParams();
        buttonParam.gravity = Gravity.RIGHT;
        buttonParam.width=LayoutParams.WRAP_CONTENT;
        sendButton.setLayoutParams(buttonParam);
     
     
        setContentView(mainLinearLayout);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}

2013年7月4日 星期四

【Android Note】使用Button 移動 TextView

1. 先在畫面上放置一個 TextView,以及兩個 Button
需注意 TextView 需有下面兩個屬性才能移動

android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"



    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

   
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="10dp"
        android:text="@string/hello_world" />

   
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="112dp"
        android:text="Left" />

   
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button1"
        android:layout_alignBottom="@+id/button1"
        android:layout_alignParentRight="true"
        android:layout_marginRight="63dp"
        android:text="Right" />




2.撰寫以下程式碼
package com.example.sampleuicontrol;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.TextView;

public class MainActivity extends Activity {

private TextView txtView;
private Button btnLeft;
private Button btnRight;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        txtView = (TextView)findViewById(R.id.textView1);
        btnLeft = (Button)findViewById(R.id.button1);
        btnRight = (Button)findViewById(R.id.button2);
        
        btnLeft.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//取得 TextView 的Layout,必須注意每種Layout的屬性都不一樣
RelativeLayout.LayoutParams layoutParams = (LayoutParams) txtView.getLayoutParams();
//每次往左移開10dp
layoutParams.leftMargin -=10;
//再把Layout的參數放回 TextView
txtView.setLayoutParams(layoutParams);
}
});
        
        btnRight.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//取得 TextView 的Layout,必須注意每種Layout的屬性都不一樣
RelativeLayout.LayoutParams layoutParams = (LayoutParams) txtView.getLayoutParams();
//每次往左移進10dp
layoutParams.leftMargin +=10;
//再把Layout的參數放回 TextView
txtView.setLayoutParams(layoutParams);
}
});
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}



3.往左移動沒辦法貼齊 Device 邊界的關係,是因為 xml 有下列參數
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"



4. 須注意每種Layout的屬性都不一樣

RelativeLayer
























LinearLayout

【Android Note】使用 Button 取得 EditText 的文字內容

1. 在 res > layout > activity_main.xml 檔案中拉出一個 EditText ,一個 Button

2. 在 MainActivity.java 中撰寫以下程式碼

public class MainActivity extends Activity {
private Button btn1; //宣告Button
private EditText txt1; //宣告EditText

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        btn1 = (Button) findViewById(R.id.button1); //取得Button
        txt1 = (EditText) findViewById(R.id.editText1); //取得EditText
        
        btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//取得EditText的輸入內容
String content = txt1.getText().toString();
//顯示在Debug Console
Log.d("debug", "button click");
//使用Toast顯示在螢幕上
Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();
}
});
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}


3. 完成後畫面如下



【Android Note】Android DDMS

1 . 點擊下圖中的圖示

2. 加入DDMS

3. 點到DDMS,可以看到模擬器的相關設定資訊

4. 右方的頁籤,常用的幾個
Network Statistics: 可以看出該Device的網路流量
File Explorer: 該 Device 的檔案結構
Emulator Control: 可以模擬經緯度座標

【Android Note】Android 設定模擬器

1. 在圖示列中,按下方圖示

2. 跳出視窗,按「New」


3. AVD Name:模擬器的名稱
    Device: 要模擬的手機型號
    Target: Android 版本


4. 如果設定正確,按下「Start」,就會執行了


2013年7月3日 星期三

【Android Note】Android 開發環境

1. 到 http://developer.android.com/sdk/index.html 下載 Android bundle
    他會包含Android SDK,以及一些開發環境都會設定好


2.他包含兩個資料夾,以及一個檔案,
   主要是用 eclipse 開發,另外有最新的 SDK  ,還有一個 SDK Manager,可以隨時更新最新的 SDK


3.在 eclipse 的資料夾中,點開 eclipse.exe 開始開發



4. 第一次打開的時候,會問你 WorkSpace 存放的路徑,找一個想存專案的位置就好了


5. 先確認 SDK 設定的路徑是否正確
    Windows > Perference > Android > SDK Location



6.  接下來新增一個專案來試試看!
File > New > Android Application Project


7. 會出現一些對話框要輸入
Application Name: 會出現在 Google Player 的App Name
Project Name: 專案名稱
Package Name: 從大到小取一個 Namaspace,不可和其他人重複,類似網址的意思

接下來都預設,不修改,一直按 Next 完成


8. 最後的畫面會長這樣啦

  





















2013年5月10日 星期五

Android 使用共用的Menu

1. 在 res > menu > activity_menu.xml 定義 menu 項目











2. src > com.example.XXX > 新增一個 Class  EX:ActivityWithMenu
import android.app.Activity;
import android.view.Menu;

public class ActivityWithMenu extends Activity {
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

3. 在其他的 Class extents Activity  換成  extends ActivityWithMenu

public class MainActivity extends ActivityWithMenu {

2012年12月14日 星期五

Android 取得 EditView 文字



1. 先建立基本的字串對應檔案





























2. 在畫面上拉出一個TextView











3. 按右鍵 Edit Text,可選擇到剛剛建立的字串設定檔案























4. 畫面上的控制項會立刻變成剛剛設定的文字























5. 在畫面上拉出以下幾個控制項
  6.  



private EditText txtUserName;
    private Button btnOK;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        txtUserName = (EditText)findViewById(R.id.editText1);
        btnOK = (Button)findViewById(R.id.button1);
       
        btnOK.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, txtUserName.getText(), Toast.LENGTH_LONG).show();
            }
        });
    }

2012年10月28日 星期日

Android模擬器變更為中文語系

1. 在 eclipse中,windows > AVD Manager






















2. 選擇之前設好的模擬器,按「Start」








3.  按「Launch」






















4.  模擬器完全載入後,會顯示以下畫面,感覺有點兒久,接著在那把鎖,用滑鼠往右滑動,就可以解開螢幕了
















5. 接著用滑鼠點一下中間那個「設定」按鈕



















6. 點選設定進入




















7. 點選語言與輸入設定



















8.點選語言



















9. 這邊就可以修改你要的語言了