2013-10-02 28 views
-1

嗨我試圖添加一個活動,顯示4個圖像(想象一個方形切到宿舍)每個圖像顯示不同的一個單擊時,我已經嘗試了幾個佈局使用圖像按鈕無濟於事,但然後在這裏閱讀我的答案是一個使用圖像尋呼機的網格視圖,但是當實現這個時,我會在網格視圖中得到相隔很遠的小圖像,請問有更好的方法嗎?哪個佈局顯示多個圖像按鈕?

回答

0

,如果它總是2x2的圖像,你可以簡單地用一個垂直線性佈局,並在其中兩個水平佈局,然後把你的圖像作爲ImageButton的或ImageView的水平佈局內...

,如果它需要一個動態網格佈局可能會是個好主意......

但是,您需要提供在這個問題上是什麼樣的詳細信息,如果您需要更詳細的解答......

(編輯:我的意思是GridView控件, gridlayout僅在api級別14以後纔可用)

+0

希望我可以標記你的權利,因爲它也提供了我想要的東西,抱歉有點模糊,認爲它需要是因爲我想要一些簡單的東西(而且我是一名業餘愛好者),這又是你的答案完成 – martinseal1987

+0

這就是我最終所做的,並將這表示爲正確的冷笑,但我現在想知道我已經完成了這項工作,我的圖像縮放非常糟糕,還有比位圖工廠更容易縮放的方法,猜測這是一種方式做到這一點,但一直沒有得到我的頭 – martinseal1987

+0

您可以使用Bitmap.createScaledBitmap(http://developer.android.com/reference/android/graphics/Bitmap.html#createScaledBitmap(android.graphics.Bitmap, int,int,boolean)) 雖然我不確定效率或質量。如果通過嚴重縮放您的意思是縮放bmp的位置,您還應該查看Imageviews的ScaleType(http://developer.android.com/reference/android/widget/ImageView.ScaleType.html) 通常它是一個在使用大圖像時,請看http://developer.android.com/training/displaying-bitmaps/load-bitmap.html ... – jpm

0

您可以使用RelativeLayout來添加ImageButton並將所有控件都放在您的手中以獲取按鈕,大小等的位置。

不同的觀點是,將屏幕分解爲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!! 

希望幫助!

+0

Omg,這正是我在@karvoynistas之後所做的事,你是傳奇人物! – martinseal1987