android gallery 图片显示问题
当第一次显示Gallery中的图片时,默认第一张图片位置是屏幕的中间,屏幕左边留下一片空白。请问怎样能让屏幕左边不留空,图片直接紧靠屏幕左边依次向右排列?
--------------------编程问答-------------------- 焦点位置貌似只能是居中了,唉,这个控件其实不太好用 --------------------编程问答--------------------
如果想实现类似的效果,还有什么办法,初次接触android. --------------------编程问答-------------------- // 设置中间显示的图
myGallery.setSelection(Length/2);
--------------------编程问答-------------------- 怎么样不让屏幕的左右两边不留空白,也就是说两边的图片靠着屏幕的两边。 --------------------编程问答-------------------- 这个要改gallery的代码的,代码位置在\LINUX\android\frameworks\base\core\java\android\widget\gallery.java
一两句话也说不清,你还是先看看gallery的代码吧 --------------------编程问答--------------------
非常感谢,我的是windows的系统,代码应该在什么位置呢? --------------------编程问答-------------------- http://www.eoeandroid.com/viewthread.php?tid=12007&highlight=gall
这个能满足你的要求 --------------------编程问答-------------------- 不懂。 --------------------编程问答-------------------- 这个的代码你可以在你装的SDK中的APIDemo中找到相关的示例。
代码也在其中! --------------------编程问答--------------------
为什么我的是右边留空白,图片依次向左递增呢,而且拖动的方向也跟图片的相反,求解 --------------------编程问答-------------------- 楼主,我的问题解决了,是一开始我旋转了180度。。。ps.觉得3楼的答案比较靠谱。. --------------------编程问答-------------------- gallery.setSelection(n);选择让某个图片居中 --------------------编程问答--------------------
旋转了180度? --------------------编程问答--------------------
可是当拖动到最左边的图片居中的时候,左边还是会有空白。 --------------------编程问答--------------------
谢谢,研究研究它的。 --------------------编程问答-------------------- gallery.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position,long id) {
if(position > galley.getCount()-3 || position < 2)
gallery.setSelection(gallery.getPosition());
else if(position != gallery.getPosition())
gallery.setPosition(position);
}
}
目前用的这种较笨的方法,gallery是重写的,里面增加setPosition和getPosition函数,以及position变量,我的是满屏幕5个图标。
期待更好的方法出现! --------------------编程问答--------------------
想问一下,你的setPosition和getPosition函数是怎么写的,position变量是形参,应该不是增加的吧。
你还修改了gallery里面的那些方法呢?我现在也在研究gallery,希望一起探讨下:) --------------------编程问答-------------------- int ii =gallery.getScrollX();
int yy = gallery.getScrollY();
gallery.scrollTo(ii+209, yy); --------------------编程问答-------------------- 在Gallery控件中价格android:spacing="20px",设置下图片与图片之间的距离,争取正好两边都靠边,然后在代码中设置gallery.setSelection(n);让第二个图片居中,可以试下,应该可以的。 --------------------编程问答-------------------- 能不能更改显示区域到最左边啊??? --------------------编程问答-------------------- 12L正解 --------------------编程问答-------------------- 学习了 强 --------------------编程问答-------------------- --------------------编程问答-------------------- 什么东西呀哎 --------------------编程问答-------------------- 改Gallery的XML文件中的一个属性就可以了。 --------------------编程问答-------------------- 改Gallery的XML文件中的一个属性就可以了。 --------------------编程问答-------------------- 改Gallery的XML文件中的一个属性就可以了。 --------------------编程问答-------------------- 改XML中哪个属性?gravity改成left么?试过了不行。 --------------------编程问答-------------------- 楼主意思是让图片循环显示吧 --------------------编程问答-------------------- 楼主说的是开始显示时,第一张图片不是再中间显示,而是居左显示,我现在也想让他居左显示 ,也在等答案。 --------------------编程问答-------------------- 居左怎么显示呢?自定义个Gallery行吗 --------------------编程问答-------------------- 把getcount 返回最大值 --------------------编程问答-------------------- --------------------编程问答-------------------- 嗯 三楼的是正确的 我正好需要 这个功能 做了 验证过了
--------------------编程问答-------------------- 这个可以设置,某个图片是默认的在中间,一种是修改源码,一种是重写源码中的方法,其实都差不多 --------------------编程问答-------------------- .setSelection(Length/2); Length是谁的长度?求解。 --------------------编程问答-------------------- 我设置setSelection怎么什么反应都没有?什么原因 --------------------编程问答--------------------
setSelection 只是设置初始选择第几个图片,和楼主说的不是一个问题呀。
求解正确答案~ --------------------编程问答--------------------
这个方法有一个缺陷,只要按住一边瞬间快速拖动就能一下托到头!我一下拖动了二十多亿张图片啊~~~ --------------------编程问答-------------------- 如果是一张照片,fill_parent 状态,设置成居左 , setSelection()恐怕不行吧 。。 --------------------编程问答-------------------- --------------------编程问答--------------------
对啊,我也有这个问题,一下就拖到头了。。。不知道是什么原因?? --------------------编程问答-------------------- 什么乱七八糟的回复,看了我老半天 18楼低调真汉子可以解决楼主的问题
在xml里增加android:scrollX="60dip"即坐标向左移动60dip 你懂的
补充:移动开发 , Android