关于android vitamio框架的问题,用过的大神来

问题描述

关于android vitamio框架的问题,用过的大神来
        在小屏状态下怎么让MediaController(那个进度条)在视频中下方(下端对其)
        ![![图片说明](http://img.ask.csdn.net/upload/201509/14/1442231117_275306.png)图片说明](http://img.ask.csdn.net/upload/201509/14/1442231108_654382.png)

解决方案

特意去看了下,不知道你用的什么版本,MediaController里有个popupwindow,找到showAtLocation调整坐标就行了,你试试

解决方案二:

额 图片没发好 再发一次

解决方案三:

你原先是把MediaController放到最下的,然后通过改变它的marginBottom,动态调整它的位置好了。

解决方案四:

public void exportPdf(String title, String[] headers,
Collection dataset, OutputStream out, String pattern) {
// 作为报表的PDF文件,一定要适合打印机的输出打印
Rectangle rectPageSize = new Rectangle(PageSize.A4);// 定义A4页面大小
// rectPageSize = rectPageSize.rotate();// 加上这句可以实现A4页面的横置
Document document = new Document(rectPageSize, 50, 50, 50, 50);// 其余4个参数,设置了页面的4个边距
try {
// 将PDF文档写出到out所关联IO设备上的书写对象
PdfWriter.getInstance(document, out);
// 添加文档元数据信息
document.addTitle(StrHelp.getChinese(title));
document.addSubject("export information");
document.addAuthor("leno");
document.addCreator("leno");
document.addKeywords("pdf itext");
// 定义页头和页尾
HeaderFooter header = new HeaderFooter(new PdfParagraph(title, 20,
true), false);
header.setAlignment(Element.ALIGN_CENTER);
HeaderFooter footer = new HeaderFooter(new Phrase(
"This is page "), new Phrase("."));
footer.setAlignment(Element.ALIGN_CENTER);
document.setHeader(header);
document.setFooter(footer);
// 打开PDF文档
document.open();
// 添加一张表格,使用Table或者PdfPTable
// Table table = new Table(headers.length);
// table.setWidth(16*headers.length);
// //table.setWidths(new float[]{20,20,20,30});
// table.setCellsFitPage(true);
// table.setAutoFillEmptyCells(true);
// table.setAlignment(Table.ALIGN_CENTER);
// table.setBackgroundColor(Color.yellow);
// table.setBorderColor(Color.green);
PdfPTable table = new PdfPTable(headers.length);
// table.setHorizontalAlignment(Element.ALIGN_CENTER);
table.setWidthPercentage(16 * headers.length);
// 产生表格标题行
for (int i = 0; i < headers.length; i++) {
PdfPCell cell = new PdfPCell(new PdfParagraph(headers[i], 14,
true));
cell.setHorizontalAlignment(Cell.ALIGN_CENTER);
cell.setVerticalAlignment(Cell.ALIGN_MIDDLE);
cell.setBackgroundColor(Color.cyan);
cell.setBorderColor(Color.green);
table.addCell(cell);
}
// 遍历集合数据,产生数据行
Iterator it = dataset.iterator();
int index = 0;
while (it.hasNext()) {
index++;
T t = (T) it.next();
// 利用反射,根据javabean属性的先后顺序,动态调用getXxx()方法得到属性值
Field[] fields = t.getClass().getDeclaredFields();
for (short i = 0; i < fields.length; i++) {
PdfPCell cell = null;
Field field = fields[i];
String fieldName = field.getName();
String getMethodName = "get"
+ fieldName.substring(0, 1).toUpperCase()
+ fieldName.substring(1);
try {
Class tCls = t.getClass();
Method getMethod = tCls.getMethod(getMethodName,
new Class[] {});
Object value = getMethod.invoke(t, new Object[] {});
// 判断值的类型后进行强制类型转换
String textValue = null;
if (value instanceof Boolean) {
boolean bValue = (Boolean) value;
textValue = "男";
if (!bValue) {
textValue = "女";
}
} else if (value instanceof Date) {
Date date = (Date) value;
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
textValue = sdf.format(date);
} else if (value instanceof byte[]) {
byte[] bsValue = (byte[]) value;
Image img = Image.getInstance(bsValue);
cell = new PdfPCell(img);
} else {
textValue = value.toString();
}
// 如果不是图片数据,就当做文本处理
if (textValue != null) {
cell = new PdfPCell(new PdfParagraph(textValue));
}
cell.setHorizontalAlignment(Cell.ALIGN_CENTER);
cell.setVerticalAlignment(Cell.ALIGN_MIDDLE);
cell.setBorderColor(Color.green);
table.addCell(cell);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// 清理资源
}
}

时间: 2024-08-09 23:13:08

关于android vitamio框架的问题,用过的大神来的相关文章

全方位解读Android多媒体框架源码

Android中对于图形界面以及多媒体的相关操作比较容易实现.而且对于大多数手机用户来说,他们主要也就是根据这些方面的功能来对系统那个进行修改.我们可以通过本文介绍的Android多媒体框架的源码解读,来具体分析一下这方面的基本知识. Android多媒体框架的代码在以下目录中:external/opencore/.这个目录是Android多媒体框架的根目录,其中包含的子目录如下所示: * android:这里面是一个上层的库,它基于PVPlayer和PVAuthor的SDK实现了一个为Andr

Android Xutils框架使用问题及解决办法

    刚刚写了篇博客,提了下在使用XUtils时遇到的一个问题Android Xutils框架HttpUtil Get请求缓存问题 ,既然已经提起来这个问题,那我想了下,就把之前使用Xutils时遇到的几个小问题整理一下. 一. HttpUtil Get请求缓存问题       关于Xtuls框架的Http模块的get请求方法,会有缓存问题--即进行get请求时,在缓存规定的时间内,如果发送同样的请求url,则不会再次请服务器发送请求,而是直接返回上次请求的结果. 之前写了一篇博客已经介绍的很

Android Volley框架全面解析_Android

 Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高. 不过HttpURLConnection和HttpClient的用法还是稍微有些复杂的,如果不进行适当封装的话,很容易就会写出不少重复代码.于是乎,一些Android网络

Android Volley框架使用源码分享_Android

过去在Android上网络通信都是使用的Xutils 因为用它可以顺道处理了图片和网络这两个方面,后来发觉Xutils里面使用的是HttpClient  而Google在6.0的版本上已经把HttpClient废除了,所以开始寻找新的网络框架,okhttp也用过,但是它是在作用在UI线程,使用起来还需要用handler 所以就先用着Volley框架了.  这里我先分析下Volley框架的简单网络请求的源码. 使用Volley请求网络数据的简单过程: RequestQueue queue = Vo

数据库-使用Android ORMlite框架时候出现异常

问题描述 使用Android ORMlite框架时候出现异常 主要界面如下 想要向数据库中存入一条数据 BEAN类 package com.newtouch.bean; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(tableName="tb_info") public class User { @DatabaseField

Android开源框架ViewPageIndicator和ViewPager实现Tab导航

前言:     关于使用ViewPageIndicator和ViewPager实现Tab导航,在开发社区里已经有一堆的博客对其进行了介绍,如果我还在这里写如何去实现,那简直就是老生常谈,毫无新鲜感,而且,我也不认为自己对ViewPageIndicator的理解会比别人好,毕竟我也是看着大神的帖子,在学习实践着.     那我还写这个有啥意义呢?其实么,就是想在这里记录下,在使用ViewPageIndicator和ViewPager实现Tab导航时,大家有可能会遇到的坑.这个坑,需要我们开发时尽量

Android网络框架Volley

Volley是Google I/O 2013推出的网络通信库,在volley推出之前我们一般会选择比较成熟的第三方网络通信库,如: android-async-http retrofit okhttp 他们各有优劣,之前个人则比较喜欢用android-async-http, 如今Google推出了官方的针对Android平台上的网络通信库,能使网络通信更快,更简单,更健壮,Volley在提供了高性能网络通讯功能的同时,对网络图片加载也提供了良好的支持,完全可以满足简单REST客户端的需求, 我们

详解Android主流框架不可或缺的基石

探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Android多分辨率适配框架(3)- 使用指南 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View

《Android和PHP开发最佳实践》一2.3 Android应用框架

2.3 Android应用框架 前面介绍了Android的系统框架,主要目的是让大家对Android系统有整体的概念,也为日后更深入的学习打好基础.然而,目前我们更需要重点学习和掌握的则是Android的应用框架,因为是否能掌握和理解Android应用框架,直接关系到是否能学好Android应用开发. Android的应用框架是一个庞大的体系,想要理解透彻并不是那么简单的事情,但是,好在其中有一些比较清晰的脉络可以帮助我们快速地熟悉这个系统,因此抓住这些脉络中的核心要点对于能否学好Android