- Android
- 2012-05-07
この記事は最終更新日から1年以上経過しています。
Matrixを使ってImageViewを回転させます。
※ImageViewのIDをarrow、サイズを75×75とします。
ImageView imageView; imageView = (ImageView)findViewById(R.id.arrow); Matrix mtrx = new Matrix(); imageView.setScaleType(ScaleType.MATRIX); mtrx.postRotate(90.0f, imageView.getWidth()/2, imageView.getHeight()/2); imageView.setImageMatrix(mtrx); imageView.invalidate(); //再描画
上記のようにするといけると思うんですが、
リストビューを使うアプリでやると最初が表示されない。
以下のように直接数値を書くといける。
ImageView imageView; imageView = (ImageView)findViewById(R.id.arrow); Matrix mtrx = new Matrix(); imageView.setScaleType(ScaleType.MATRIX); mtrx.preTranslate(-36, -36); //拡大縮小の中心点をずらす、一旦動かす mtrx.postRotate(90.0f); mtrx.postTranslate(36, 36); //ずらした位置を元に戻す imageView.setImageMatrix(mtrx); imageView.invalidate(); //再描画
18,793 views