2015年9月28日 星期一

[智語N] 前輩的智慧

今天跟朋友討論一下工作上遇到的問題,朋友雖然不是科技業,只淡淡的回我


「也許你把他想的比較難了一點,你應該是快要弄好了,

有時候往回看一下,就會找到了」

2015年9月27日 星期日

[Android] 解決view.getWidth()為0問題

有時候在OnCreate()時,取到的View.getWidth()通常會是0 ,

查詢網路上有一個解法。


MyView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
   @Override
   public void onGlobalLayout() {
    // aviod when ui change run this code 
    if (!init) {
     this.width=MyView.getWidth();
     init=true;
    }
   }
  });

不過這個方法有一個小缺點,當VIEW有變化(重繪或是物件有移動)也會引發。

所以可以下一個布林值來判斷是否己取過。

「Android」Button點下後的微縮小效果

在res/anim 裡面新增一個click_anim.xml檔案


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <alpha
        android:duration="300"
        android:fromAlpha="1.0"
        android:toAlpha="0.5" >
    </alpha>

    <scale
        android:duration="50"
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="0.9"
        android:toYScale="0.9" >
    </scale>

</set>

在Button的click事件裡這樣寫


btn.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    v.startAnimation(AnimationUtils.loadAnimation(Select_Lamp.this, R.anim.click_anim));
    
   }
  });