Androidで、ズームコントロール

Androidで、ズームコントロール

指2本でピンチイン、ピンチアウトするのではなく
+-ボタンを設置して拡大縮小するときに使う

これを使うメリットは、片手操作が可能になること

ズームコントロールを使うには、
ZoomControlsを使う

ズームイベントは
setOnZoomClickListener

ズームアウトイベントは
setOnZoomOutClickListener
で検出できる

まずは、レイアウトファイルで定義
とりあえず、今回はわかりやすさ重視のため
TextViewの文字のズーム
応用としては、写真とかカメラ画像など
色々使える

<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"/>

<ZoomControls
android:id="@+id/zoomcontrols"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"/>

android:layout_alignParentBottom=”true”
android:layout_alignParentRight=”true”
を設定することで、画面右下に
ズームボタンを設置

処理は、Javaで書くことになるので
まずは、Zoomcontrolsのインスタンス取得

final ZoomControls zc = (ZoomControls)findViewById(R.id.zoomcontrols);

TextView tvContents = (TextView)findViewById(R.id.text);

次に、ズームイン処理
setOnZoomClickListenerをセットして
+ボタンを押したときの動作を設定

zc.setOnZoomClickListener(new OnClickListener(){

@Override
public void onClick(View v){

scale +=0.1;
if(scale > 4) scale =4;

tvContents.setScaleX(scale);
tvContents.setScaleY(scale);
tvContents.setText(String.valueOf(scale));
}
});

次に、ズームアウト処理
これは、
setOnZoomOutClickListener
をセットすることで、
-ボタンを押したときの動作を設定

zc.setOnZoomOutClickListener(new OnClickListener(){

@Override
public void onClick(View v){

scale -=0.1;
if(scale <= 1) scale =1; tvContents.setScaleX(scale); tvContents.setScaleY(scale); tvContents.setText(String.valueOf(scalef)); } }); [/java] ZoomControlsは、ボタン設置はできるけど 拡大縮小機能は自分でズーム倍率を作成する必要があるので注意

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です