Articles of resize

如何调整我从android中的库中选择的图像的大小?

我在建一个android在哪里。 在一个活动里面我有一个图像按钮。 当我点击它时,画廊打开,我可以选择一个图像。 然后我将该图像设置为图像按钮的新图像。 问题是图像在我的活动中看起来太大了。 如何使其适合我的图像按钮? protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult(requestCode, resultCode, imageReturnedIntent); switch(requestCode) { case SELECT_PHOTO: if(resultCode == RESULT_OK){ Uri selectedImage = imageReturnedIntent.getData(); String[] filePathColumn = {MediaStore.Images.Media.DATA}; Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); String filePath = cursor.getString(columnIndex); cursor.close(); Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath); […]

更改子项后,ScrollView不会直接resize

关于ScrollViewresize,我遇到了一个非常烦人的问题,而且我的可能解决方案已经用完了。 我有一个FragmentPager包含几个不同的片段,其中一个片段有一个ScrollView。 带有ScrollView的Fragment由一个Spinner和一个包含LinearLayout的ScrollView组成,其中包含多行其他视图(如SeekBars,Buttons,Edittexts)。 根据Spinner中选择的选项,ScrollView会显示不同的视图。 为此,一些视图的可见性变为Gone,而其他视图则变为Visible。 这很好用,除了ScrollView在使用Spinner选择不同选项时似乎没有正确resize的事实。 当ScrollView充满了视图,因此可滚动时,如果用户选择的选项显示填充ViewPort所需的Viewsthan较少,则ScrollView仍会滚动。 当用户再次选择旧选项时,ScrollView现在无法滚动,因为它采用了上一个选项所需的大小。 当用户再次选择SAME选项时,ScrollView突然可以滚动,因为它现在调整为所需的实际大小。 这里发生了什么? 更好的是,我该如何解决这个烦人的问题呢? 我的布局: 我已经尝试过的事情: 父ScrollView上的ForceLayout / requestLayout 使ScrollView无效 包含LinearLayout的ForceLayout / requestLayout 使LinearLayout无效 使ScrollView的所有子项无效 ScrollView的所有子项上的ForceLayout / requestLayout

拖动以在Android上动态调整一对相邻布局的大小

我在Android应用程序中有一对相邻的视图。 我想让用户能够拖动窗口小部件来更改更大容器中两个视图的相对大小。 如果SlidingDrawer让用户将抽屉固定在他们想要的任何地方,那么这可能会让我得到我想要的东西。 我的谷歌’fu’让我失望。 我无法在任何地方find这样的例子。 谢谢!

android:运行时resize的图像质量

我想使用drawBitmap()方法显示图像。 但在我想根据屏幕尺寸resize之前。 我的结果图像质量有问题。 您可以在下面看到屏幕截图和测试代码。 如何在运行时以高质量调整图像大小? 谢谢你的解决方案。 原始图片: alt text http://img.androidcookie.com/android/gradient.png 设备上的结果屏幕截图: alt text http://img.androidcookie.com/android/device.png import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Rect; import android.os.Bundle; import android.view.View; import android.widget.LinearLayout; import java.io.IOException; import java.io.InputStream; public class MyActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LinearLayout container = (LinearLayout) findViewById(R.id.container); container.addView(new View(this) […]

为什么Galaxy Nexus / Android 4上的视口标签不起作用?

我正在开发一个webApp,它应该调整到设备可能具有的任何屏幕尺寸。 在iOS和较旧的Android版本上,视口标记工作正常。 屏幕上的图片始终resize以适合屏幕。 (如下所述: https : //developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html#//apple_ref/doc/uid/TP40006509-SW19 ) 在Galaxy Nexus(Android 4.0)上它无法运行。 在左侧和右侧约20px空间,我不知道他为什么这样做。 我的viewport标签如下所示: 无论我对标签做了什么改变,空间总是存在,内容不适合屏幕。 我已经制作了一个示例页面来向您展示效果: http : //easyeve.w3y.de/link/index.html 如果您在iPhone上打开此链接,内容完全适合(您将看不到任何黄色=正文),文档宽度为320px。 在Galaxy Nexus上,您将看到黄色空间,文档宽度为360px(正好是显示分辨率的一半)。 这应该是320px! 你有这个问题吗?有办法解决它吗? 更新:我在Galaxy Note / Android 2.3.6上发现了同样的问题因此它不是Android 4的问题。 它与我猜的大屏幕尺寸有关..

如何在Android中使用双三次插值在canvas上绘制和缩放位图?

我想在canvas上绘制一个比它更大的位图。 我可以使用canvas.drawBitmap(bitmap,null,destRect,null); 但是如果源图像比目标矩形小得多,则结果是像素化的,质量很差。 如何使用双线性或双三次重采样绘制我的位图? 任何帮助将不胜感激,thanx。

大小更改后,自定义ViewGroup内的视图无法呈现

我遇到了一个让我难过的问题,我希望有人可以给我一些指示。 我正在使用一个使用自定义ViewGroup的应用程序(实际上是一个包含RelativeLayout的FrameLayout)来呈现事件日历。 日历中的事件表示为视图,其大小根据事件的持续时间和包含视图的大小而定。 我遇到了调整包含FrameLayout大小时发生的问题。 当前实现将删除表示事件的所有视图,并尝试添加新事件并根据FrameLayout的当前大小计算其大小。 这项工作是通过View的onSizeChanged()方法触发的,该方法在FrameLayout中被覆盖。 调整视图大小时,将执行此代码并更新视图,但是,它们实际上都不会在屏幕上呈现… FrameLayout中包含的视图根本不可见。 如果我在hierarchyviewer工具中加载视图,它们是视图树的一部分,并在概述中列出它们应该位于的位置,但它们不会显示。 (请注意,视图在FrameLayout的初始渲染中是可见的……只有在resize后它们才会消失。) 看来resize期间的事件顺序如下: onMeasure() onMeasure() onSizeChanged() onLayout() 重置视图后调用requestLayout()(在onSizeChanged()内)似乎没有任何效果。 但是,如果在调用requestLayout()之前导致一些延迟,则视图将变为可见。 我可以通过生成线程和hibernate来创建这种延迟,或者通过创建一个虚拟按钮来简单地调用requestLayout()并在调整自己resize后按下它,或者甚至在onSizeChanged()的末尾放置这个丑陋的黑客: post(new Runnable() { public void run() { requestLayout(); } }); 当我使用这个hack时,包含的视图是可见的,事件的顺序如下: onMeasure() onMeasure() onSizeChanged() onLayout() onMeasure() onMeasure() onLayout() 因此,似乎强制第二个度量传递(在视图树被修改之后)使得包含的视图应该是可见的。 为什么延迟对requestLayout()的调用对我来说这是一个谜。 谁能提供任何关于我做错的指示? 我意识到,如果不查看一些代码,这有点难以理解,因此我创建了一个小型示例应用程序,它展示了我的问题并使其在Github上可用: https://github.com/MichaelSims/ViewGroupResizeTest 我上面提到的黑客致力于一个单独的分支: https://github.com/MichaelSims/ViewGroupResizeTest/tree/post-runnable-hack 如果我能提供任何其他信息,请提前通知我并提前致谢。

适用于Android和Java的image processing库

我目前正在开发一个小项目,该项目将从URL加载图像,resize并使用指定的调色板将其颜色深度更改为仅16种颜色。 对我来说主要的问题是,我想要一个程序,我可以在Android设备和台式计算机上使用它。 你知道一个适用于两个系统的好的image processing库吗? 提前致谢。

如何在onSizeChanged中设置大小和布局?

我不能让我的元素,例如ListView ,正确resize。 我有一个ListActivity用于搜索,带有仪表板,编辑框和列表视图。 这个想法是在键盘显示时隐藏操作栏。 我扩展了LinearLayout ,以监听视图大小的变化( 这里推荐): public class SizeChangingLinearLayout extends LinearLayout { //… @Override protected void onSizeChanged(int xNew, int yNew, int xOld, int yOld) { View actionbar = mainView.findViewById(R.id.actionbar); if (yNew > yOld) actionbar.setVisibility(View.VISIBLE); else if (yNew < yOld) actionbar.setVisibility(View.GONE); super.onSizeChanged(xNew, yNew, xOld, yOld); } } 操作栏的隐藏/显示按预期工作,但ListView下方与隐藏操作栏的高度相同。 只要任何图形发生变化(例如在编辑框中写入), ListView填补空白。 隐藏键盘时,反向出现类似的行为。 [编辑] 更改其他布局时也会出现同样的问题。 更改onSizeChanged中事物的Visibility直接显示,但在其他一些用户操作重绘这些视图之前,不会显示更改大小和边距。 无效在onSizeChanged无效。 […]

如何检测布局resize?

Dianne Hackborn在几个线程中提到,您可以检测布局何时resize,例如,当软键盘打开或关闭时。 这样一个线程是这个… http://groups.google.com/group/android-developers/browse_thread/thread/d318901586313204/2b2c2c7d4bb04e1b 但是,我不理解她的回答:“通过所有相应的布局遍历和回调调整视图层次结构。” 有没有人有进一步的描述或如何检测这个的一些例子? 我可以链接哪些回调以便检测到这个? 谢谢