woshidan's blog

そんなことよりコードにダイブ。

potatotips #23で発表しました

発表しました

懇親会で苦労してますよねぇ、という話が出来ただけでもよかったです。

  • ぐぐるといろいろ出てくるけれど、ライブラリーはライブラリーの要素を優先してみるからライブラリーの要素からいじろう
  • 位置関係はライブラリーの要素が優先して配置されるから、入れ替えたいときは前後の要素も削る検討を
    • あんまりひどいなら書き直した方が早い気もするが、メニュー周りのAPIなどを使い回すためにツールバー等は可能な限り残した方が楽そう
  • アニメーションやActivityのツールバーなどはライブラリーの属性値をいくらいじっても難しいから別のところを当たろう
    • 懇親会で話に出ていたのですが、ActionMenuやOverflowMenuなどはstyle要素を書いてthemeから指定
    • このへん

speakerdeck.com

話しながら、もうちょっと速習マテリアルデザイン的なライブラリに絞らず、この辺のViewはこの項目でいじる、この辺はDrawableで書く、この辺はStyleで書く、とか言った方がまだよかったとか思いましたが、誰かそういうリポジトリ作ってください。

オーバーライドについて

発表した時に指摘されたのですが、アニメーションのprivateメソッドをオーバーライドする時はそのprivateメソッドを利用しているpublicメソッドからお願いします。

class Person {
  public void printName() {
    System.out.println(getName());
  }
  private String getName() {
    return "Name";
  }
}

class ChildPerson extends Person {
  public String getName() {
    return "ChildName";
  }
}

class Test {
  public static void main(String[] args) {
    Person person = new Person();
    ChildPerson child = new ChildPerson();

    person.printName();
    child.printName();
  }
}

出力

Name
Name