我正在尝试使用ImageViewTouch,这是一个可以进行缩放缩放的库.我可以使用Canvas绘制图像,但是当我缩放图像时,绘图会消失.
为此,我正在尝试将视图转换为位图并为同一视图设置ImageBitmap.这是代码:
mImage.setDrawPath(true);
mImage.setImageBitmap(loadBitmapFromView(mImage));
public static Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap( v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getWidth(), v.getHeight());
v.draw(c);
return b;
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到以下日志错误:
07-11 21:13:41.567: E/AndroidRuntime(20056): java.lang.IllegalArgumentException: width and height must be > 0
07-11 21:13:41.567: E/AndroidRuntime(20056): at android.graphics.Bitmap.createBitmap(Bitmap.java:638)
07-11 21:13:41.567: E/AndroidRuntime(20056): at android.graphics.Bitmap.createBitmap(Bitmap.java:620)
Run Code Online (Sandbox Code Playgroud)
如果我删除了loadBitmapFromView呼叫,则图形通常会出现在图像上方.当我尝试与图像进行任何交互(如放大或缩小)时,绘图消失,仅保留背景图像,即图片.
---编辑---
这是在loadBitmapFromView通话后放置的更多代码.案例是:我有一个无线电组听众,当我检查一些单选按钮时,我必须加载图像并在其上绘制一些可能的图纸..然后我试图将所有内容(图像和图纸)转换为仅一个位图.
这是代码的一部分:
bitmap = BitmapUtils.decodeSampledBitmapFromResource(root + DefinesAndroid.CAMINHO_SHOPPINGS_SDCARD + nomeImagemAtual, size.x, size.y);
mImage.setImageBitmap(bitmap);
Run Code Online (Sandbox Code Playgroud)
之后,我绘制了我必须绘制的所有内容,并尝试使用我展示的loadImageBitmap方法将视图转换为位图.
decodeSampledBitmapFromResource我从Android开发人员的这个链接获得的方法http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
我正在开发一个应用程序,它在一堆图像上绘制线条.为了选择这些图像,我有一个广播组,每当用户点击一个单选按钮时,图像就会加载所有图纸.
在我的收音机听众中,我有以下代码:
bitmap = BitmapUtils.decodeSampledBitmapFromResource(root + DefinesAndroid.CAMINHO_SHOPPINGS_SDCARD + nomeImagemAtual, size.x, size.y);
mImage.setImageBitmap(bitmap);
mImage.setDrawLines(true);
mImage.setImageBitmap(loadBitmapFromView(mImage));
Run Code Online (Sandbox Code Playgroud)
decodeSampledBitmapFromResource我从Android开发人员的这个链接获得的方法(它更有效地加载位图)http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
这是我调用以获取视图位图的方法
public static Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
v.draw(c);
return b;
}
Run Code Online (Sandbox Code Playgroud)
我正在设置图像Bitmap,mImage因为我正在使用ImageViewTouch库(它可以在ImageView上进行缩放缩放),如果我不这样做,所有画布绘图都会被删除,图像上的任何交互都会被删除(比如放大/出).
错误日志如下
07-11 21:13:41.567: E/AndroidRuntime(20056): java.lang.IllegalArgumentException: width and height must be > 0
07-11 21:13:41.567: E/AndroidRuntime(20056): at android.graphics.Bitmap.createBitmap(Bitmap.java:638)
07-11 21:13:41.567: E/AndroidRuntime(20056): at android.graphics.Bitmap.createBitmap(Bitmap.java:620)
Run Code Online (Sandbox Code Playgroud)
我几乎可以肯定这个错误正在发生,因为当我调用getBitmapFromView方法时图像位图没有完全加载.
如何知道视图何时完全加载?
我在服务器端有一个方法,它提供了有关我的数据库中注册的特定名称的信息.我正从我的Android应用程序访问它.
对服务器的请求正常完成.我要做的是根据我想要的名称将参数传递给服务器.
这是我的服务器端方法:
@RequestMapping("/android/played")
public ModelAndView getName(String name) {
System.out.println("Requested name: " + name);
........
}
Run Code Online (Sandbox Code Playgroud)
这是Android的请求:
private Name getName() {
RestTemplate restTemplate = new RestTemplate();
// Add the String message converter
restTemplate.getMessageConverters().add(
new MappingJacksonHttpMessageConverter());
restTemplate.setRequestFactory(
new HttpComponentsClientHttpRequestFactory());
String url = BASE_URL + "/android/played.json";
String nome = "Testing";
Map<String, String> params = new HashMap<String, String>();
params.put("name", nome);
return restTemplate.getForObject(url, Name.class, params);
}
Run Code Online (Sandbox Code Playgroud)
在服务器端,我只得到:
Requested name: null
Run Code Online (Sandbox Code Playgroud)
是否可以像这样向我的服务器发送参数?
我正在开发和Android应用程序,它与我的服务器通信.这种沟通是通过Spring框架和Jackson完成的.我正在成功发送我的服务器请求,但我没有收到回复.这就是我所做的:
Android应用:
public Loja getLoja() {
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
String url = BASE_URL + "/android/played.json";
return restTemplate.getForObject(url, Loja.class);
}
Run Code Online (Sandbox Code Playgroud)
Loja类(我有两个版本.一个在Android应用程序中,另一个在Server中.它们完全相同):
public class Loja {
private String nome;
private String xValue;
private String yValue;
private String andar;
public Loja(String nome, String xValue, String yValue, String andar) {
this.nome = nome;
this.xValue = xValue;
this.yValue = yValue;
this.andar = andar;
}
public Loja() {
}
public String getAndar() {
return andar;
}
public void setAndar(String andar) …Run Code Online (Sandbox Code Playgroud) 我想知道如何在用户滑动手指时在ImageView上绘制一条线?
任何机构可以解释一下吗?或者也许任何链接开始这个.
我正在开发一个接收给定地址的Android应用程序.我想只允许应用程序在设备上运行,如果用户在该地址上,或者更接近它.
这可能只与google maps api有关吗?
我知道这个问题被问了很多次但是我真的很难克服它.我通过看到这些问题尝试了很多组合,但似乎没有人适合我的情况.
完整的日志错误如下:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'professorController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.personal.online.dao.ProfessorDao com.personal.online.controller.ProfessorController.professorDao; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.personal.online.dao.ProfessorDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:292)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:643)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:606) …Run Code Online (Sandbox Code Playgroud) 我已经在我的HTML页面上加载了一个图像,我想在鼠标点击位置上的Twitter Bootstrap中打开一个popover.到目前为止我所做的是打开图像侧面的弹出窗口.但我真正想要做的就是在我点击图片的地方打开popover.
我怎样才能做到这一点?
我试图禁止我的ViewPager在标签之间滚动.我有以下情况:
public class MyClass extends ViewPager implements ViewPager.OnPageChangeListener, OnTouchListener {
public MyClass() {
setOnTouchListener(this);
}
@Override
public void onPageScrollStateChanged(int state) {
Log.d("Testing", TAG + " onPageScrollStateChanged");
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
Log.d("Testing", TAG + " onPageScrolled");
}
@Override
public void onPageSelected(int position) {
Log.d("Testing", TAG + " onPageSelected");
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
Log.d("Testing", "intercept");
return false;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("Testing", "touch2");
return false;
}
} …Run Code Online (Sandbox Code Playgroud) 我有一个URL,在调用时会重定向到另一个URL.我想传递一些数据和重定向.
例如,我有这个方法:
@RequestMapping("efetuaEnvioEmail")
public String efetuaEnvioEmail(HttpServletResponse response) throws IOException {
System.out.println("efetuaEnvioEmail");
return "redirect:inicio";
}
Run Code Online (Sandbox Code Playgroud)
哪个重定向到这个:
@RequestMapping("inicio")
public String Inicio(HttpServletRequest request) throws IOException {
return "Inicio";
}
Run Code Online (Sandbox Code Playgroud)
我想传递一些数据,告知第一种方法一切正常.
我已经尝试了HttpServletRequest和HttpServletResponse的一些方法,但我没有任何东西.
android ×6
imageview ×3
java ×3
spring-mvc ×3
bitmap ×2
canvas ×1
css ×1
draw ×1
geofencing ×1
get ×1
google-maps ×1
gps ×1
hibernate ×1
html ×1
image ×1
jackson ×1
javascript ×1
jpa ×1
popover ×1
redirect ×1
request ×1
response ×1
rest ×1
resttemplate ×1
scroll ×1
servlets ×1
spring ×1
swipe ×1
tabs ×1
touch ×1
view ×1