2013年10月25日 星期五

action bar上的up button

up button 和 back button的比較:
up:  回到前一頁或是某個頁面
back:  回上一步,比方收起鍵盤

顯示up button

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ActionBar actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
     
}


判斷up button 被點選

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    // Respond to the action bar's Up/Home button
    case android.R.id.home:
          this.finish();
        return true;
    }
    return super.onOptionsItemSelected(item);
}

2013年10月24日 星期四

設定編碼UTF8




讓EditText的cursor color等於文字顏色

設定  textCursorDrawable

  <EditText
    android:layout_width="30dp"
    android:layout_height="44dp"
    android:textColor="#000000"
   
    android:textSize="14sp"
     android:paddingLeft="6dp"
     android:textCursorDrawable="@null"
   
    />
   

delete file

ex:
     
                File file = new File(context.getFilesDir(), "plan.txt");

try {
file.getCanonicalFile().delete();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

2013年10月23日 星期三

back多層activity

ex:

A ->  B -  > C
想要從C返回A


C.java:


Intent intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

AndroidManifest.xml:


 <activity
            android:name="com.passionbean.fitmi.A"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:launchMode="singleTask" 
            >
           
        </activity>


回到桌面(home)

moveTaskToBack(true);

2013年10月22日 星期二

防止back鍵作用


   public boolean onKeyDown(int keyCode, KeyEvent event) {
       if (keyCode == KeyEvent.KEYCODE_BACK ) {
           /*
            * Use this hook instead of onBackPressed(), because onBackPressed()
            * is not available in API 4.
            */
           return true;
       }

       return super.onKeyDown(keyCode, event);
   }// onKeyDown()

設定action bar的title

XML:

利用android:label

ex:

  <activity
            android:name=".RegisterActivity"
            android:label="註冊新帳號"
            android:screenOrientation="portrait"
                        android:windowSoftInputMode="stateHidden"
             >


JAVA:


  ActionBar ab = getActionBar();
  ab.setTitle("My Title");

2013年10月21日 星期一

讀檔產生圖片Bitmap


File storageDir = new File(
       Environment.getExternalStoragePublicDirectory(
           Environment.DIRECTORY_PICTURES
       ),
       "FitMi"
    );
File imageFile = new File(storageDir.getPath(), "test.jpg");
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath());

2013年10月15日 星期二

存取專案裡assets下的檔案


ex:

AssetManager assetManager = getAssets();


try {
            InputStream input = assetManager.open("Message.plist");


} catch (Exception e) {

e.printStackTrace();
}

2013年10月14日 星期一

當按下enter時收起鍵盤


   EditText nameEditText = (EditText)this.findViewById(R.id.editBasicNameEditText);
       
       
        OnKeyListener keyboardListener = new OnKeyListener()
        {
            /**
             * This listens for the user to press the enter button on
             * the keyboard and then hides the virtual keyboard
             */
        public boolean onKey(View arg0, int arg1, KeyEvent event) {
               // If the event is a key-down event on the "enter" button
               if ( (event.getAction() == KeyEvent.ACTION_DOWN  ) &&
                    (arg1 == KeyEvent.KEYCODE_ENTER)   )
               {              
                InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
                       imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);  
                       return true;
               }
               return false;
            }
       } ;
       
nameEditText.setOnKeyListener(keyboardListener);

2013年10月1日 星期二

AChartEngine

http://code.google.com/p/achartengine/

1. 在折線圖上顯示出每個點的值


((XYSeriesRenderer) renderer.getSeriesRendererAt(0)).setDisplayChartValues(true);


2.  not show legend item


     ((XYSeriesRenderer) renderer.getSeriesRendererAt(0)).setShowLegendItem(false);

hide 紅色圈起的部分

3. 改變X, Y軸上label的color

ex:

   renderer.setYLabelsColor(0, Color.BLACK);

4. 設定線條顏色

            int[] colors = new int[] {  Color.rgb(30, 155, 165)};
   PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE };
  renderer = buildRenderer(colors, styles);

5. 設定線條粗細

 renderer = buildRenderer(colors, styles);
   int length = renderer.getSeriesRendererCount();
   for (int i = 0; i < length; i++) {
     XYSeriesRenderer seriesRenderer  = ((XYSeriesRenderer)  renderer.getSeriesRendererAt(i));

     seriesRenderer.setLineWidth(3f);


   }

6. 設定point

   renderer.setPointSize(10);