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

2017年10月3日 星期二

Android & iOS need icon size


### Android
36 x 36 px
48 x 48 px
72 x 72 px
96 x 96 px
144 x 144 px
192 x 192 px

### iOS
40 x 40 px
60 x 60 px
80 x 80 px
120 x 120 px
180 x 180 px

### General

512 x 512 px
1024 x 1024 px

2017年10月2日 星期一

Sources for 'Android API XX' Platform not found 解決辦法

Sources for 'Android API XX' Platform not found 解決辦法 

打開Preferences -> Appearance & Behavior -> System Settings -> Android SDK
以下以API 26為例

尋找所需要的版本號碼

假設是Sources for 'Android API 26' Platform not found

就下載Sources for Android 26重新compile就可以看到原始碼了


如果所選的版本沒有Sources for Android XX

代表版本過新 還沒出QQ

這時候可以考慮選擇前一版的

修改jdk.table.xml

路徑在

``` ~/Library/Preferences/AndroidStudio2.3/options/jdk.table.xml ```
* AndroidStudio2.3 這個要改成你所使用的AndroidStudio version

```xml ```
把
```xml ```

改成
```xml ```
就可以囉 不過記得也要下載Sources for Android 25才能用

2016年4月1日 星期五

CollapsingToolbarLayout滑動時,更改Toolbar的icon顏色

今天遇到在使用CollapsingToolbarLayout
當AppBarLayout 展開的時候
menu icon需要變色

找到了這個
http://stackoverflow.com/questions/30936373/collapsingtoolbarlayout-change-home-button-color-when-expanded


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.sample_actions, menu);

    for(int i = 0; i < menu.size(); i++){
        Drawable drawable = menu.getItem(i).getIcon();
        if(drawable != null) {
            drawable.mutate();
            drawable.setColorFilter(getResources().getColor(R.color.accent)
             , PorterDuff.Mode.SRC_ATOP);
        }
    }

    return true;
}

發現可以直接改變drawable的顏色
不過home跟overflow沒有吃到效果
所以必須還要加上code


  private void changeToolbarIcon(int color) {
    Drawable drawable = toolBar.getNavigationIcon();
    if (drawable != null) {
      drawable.mutate();
      drawable.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
    }
    Drawable overflowIcon = toolBar.getOverflowIcon();
    if (overflowIcon != null) {
      overflowIcon.mutate();
      overflowIcon.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
    }
  }

之後在appbar監聽addOnOffsetChangedListener來變色
大致上就可以完成了 參照下面的方法來使用還可以做出漸變色的效果

http://stackoverflow.com/questions/4414673/android-color-between-two-colors-based-on-percentage



  private float interpolate(float a, float b, float proportion) {
    return (a + ((b - a) * proportion));
  }

  /** Returns an interpoloated color, between <code>a</code> and <code>b</code> */
  private int interpolateColor(int a, int b, float proportion) {
    float[] hsva = new float[3];
    float[] hsvb = new float[3];
    Color.colorToHSV(a, hsva);
    Color.colorToHSV(b, hsvb);
    for (int i = 0; i < 3; i++) {
      hsvb[i] = interpolate(hsva[i], hsvb[i], proportion);
    }
    return Color.HSVToColor(hsvb);
  }