如果我想将我的imagevIEw的位置移动到图像右侧的一部分将延伸超过可见屏幕的位置,图像趋于收缩,并且所有图像都倾向于保持在屏幕的边缘内,同样可以如果我降低图像以延伸超出屏幕底部,图像会缩小并且不会延伸超过屏幕的下边缘,
然而,如果我向上移动图像的位置或向左移动图像大小没有缩小并且图像像我想要的那样延伸到屏幕之外,我很好奇是否有任何建议我如何解决这个问题而不是你
mainLayout = (VIEwGroup)findVIEwByID(R.ID.ID_layout); deviceScreenSize = new Point(); thisContext = this; maindisplay = getwindowManager().getDefaultdisplay(); maindisplay.getSize(deviceScreenSize); offsetX = (deviceScreenSize.x / 320.0f); offsetY = (deviceScreenSize.y / 568.0f); mainimg = new ImageVIEw(this); mainimg.setimageDrawable(getResources().getDrawable(R.drawable.myimg)); SetPos(0, 0, 320, 568); mainimg.setLayoutParams(layoutpositioner); mainLayout.addVIEw(mainimg); setRequestedOrIEntation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}public voID SetPos(float x, float y, float wIDth, float height) { layoutpositioner = new relativeLayout.LayoutParams(relativeLayout.LayoutParams.MATCH_PARENT, relativeLayout.LayoutParams.MATCH_PARENT); layoutpositioner.topmargin = (int)(y * offsetY); layoutpositioner.leftmargin = (int)(x * offsetX); layoutpositioner.wIDth = (int)(wIDth * offsetX); layoutpositioner.height = (int)(height * offsetY);}public voID SetPosWithoutOffset(float x, float y, float wIDth, float height) { layoutpositioner = new relativeLayout.LayoutParams(relativeLayout.LayoutParams.MATCH_PARENT, relativeLayout.LayoutParams.MATCH_PARENT); layoutpositioner.topmargin = (int)(y); layoutpositioner.leftmargin = (int)(x); layoutpositioner.wIDth = (int)(wIDth); layoutpositioner.height = (int)(height);}
这是问题的视觉示例
解决方法:
这是因为在方法SetPos()中定位时只处理左边距和上边距:
layoutpositioner.topmargin = (int)(y * offsetY);layoutpositioner.leftmargin = (int)(x * offsetX);
因此,要解决此类问题,您必须按以下方式处理所有方向:
// first get screen wIDth and height displayMetrics metrices = new displayMetrics();this.getwindowManager().getDefaultdisplay().getMetrics(metrices);int windowWIDth = metrices.wIDthPixels;int windowHeight = metrices.heightPixels;//then set your margins int x_cord = (int)(x * offsetX);int y_cord = (int)(y * offsetY);layoutpositioner.topmargin = y_cord;layoutpositioner.leftmargin = x_cord;layoutpositioner.bottommargin = windowHeight - (y_cord - your_image.getHeight());layoutpositioner.rightmargin= windowWIDth - (x_cord - your_image.getWIDth());
总结 以上是内存溢出为你收集整理的android – Imageview在我的屏幕边缘收缩全部内容,希望文章能够帮你解决android – Imageview在我的屏幕边缘收缩所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)