-1

こんにちは、クリックすると各画像が異なる画像を表示する4つの画像を表示するアクティビティを追加しようとしています(正方形を四分の一に切ったと想像してください)。画像ボタンを使用していくつかのレイアウトを試してみましたが、役に立ちませんでした。画像ページャーを使用したグリッドビューですが、これを実装すると、グリッドビューで小さな画像がかなり離れて表示されますが、もっと良い方法はありますか?

4

2 に答える 2

0

RelativeLayout を使用して ImageButtons を追加し、ボタンの位置やサイズなどをすべて制御できます。

別の見方として、画面を 4 つの長方形 (Rects) に分割します。このようなもの :

Rect upLeftRect = new Rect(0,0,screenWidth/2 , screenHeight/2);
Rect upRightRect = new Rect(screenWidth/2,0,screenWidth,screenHeight/2);
Rect downLeftRect = new Rect(0,screenHeight/2, screenWidth/2 , screenHeight);
Rect downRightRect = new Rect(screenWidth/2, screenHeight/2, screenWidth,screenHeight);

次に、コンストラクターで次のように、relativeLayout に onTouchListener をアタッチします。

yourRelativeLayout.setOnTouchListener(this);

そして最後に、 onTouch メソッド内には次のようなものがあります:

@Override
public boolean onTouch(View v, MotionEvent e){
  if(upLeftRect.contains( ( int ) e.getX(), (int) e.getY){
    // do whatever you want, i guess that you want some alpha animation or something like this
  }else if(upRightRect.contains( (int) e.getX(), (int) e.getY(){
    // bla bla.. :)
  } // do the rest conditions your self!!

それが役に立ったことを願っています!

于 2013-10-02T14:54:07.120 に答える