嗨,我正在尝试添加一个显示 4 个图像的活动(想象一个正方形切成四分之一),其中每个图像在单击时显示不同的图像,我尝试了一些使用图像按钮的布局但无济于事,但在这里阅读我的答案是使用图像寻呼机的网格视图,但是在实现此功能时,我得到的小图像在网格视图中间隔很远,请问有更好的方法吗?
问问题
136 次
2 回答
0
如果它总是 2x2 图像,您可以简单地使用垂直线性布局和两个水平布局,然后将图像作为 ImageButton 或 ImageView 放在水平布局中......
如果它需要是动态的网格布局可能是一个好主意......
但是,如果您需要更详细的答案,则需要提供有关问题所在的更详细信息...
(编辑:我的意思是gridview,gridlayout仅从api级别14开始可用)
于 2013-10-02T14:02:28.040 回答
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 回答