private View createContentView() {
// 获取程序信息
ResourceUtil resourceUtil = new ResourceUtil(mContext);
ApkInfo apkInfo = resourceUtil.getApkInfo();
// 设置根视图,即最外层的布局,确定最外层的边框风格。
LinearLayout layout = new LinearLayout(mContext);
layout.setBackgroundResource(R.drawable.about_dialog_bg);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.CENTER;
layout.setLayoutParams(layoutParams);
layout.setGravity(Gravity.CENTER);
layout.setOrientation(LinearLayout.VERTICAL);
final int layoutPad = 15;
layout.setPadding(layoutPad, layoutPad, layoutPad, layoutPad);
// 内层LinearLayout的布局,该布局包含了显示的主要文字及图片内容。
LinearLayout inLayout = new LinearLayout(mContext);
LinearLayout.LayoutParams inLayoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
inLayout.setLayoutParams(inLayoutParams);
inLayout.setOrientation(LinearLayout.VERTICAL);
inLayout.setGravity(Gravity.CENTER);
final int inLayoutPad = 30;
inLayout.setPadding(inLayoutPad, inLayoutPad, inLayoutPad, inLayoutPad);
inLayout.setBackgroundResource(R.drawable.about_dialog_stroke);
// 程序图标、程序名字、开发者网站的布局参数
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
params.bottomMargin = 10;
// 程序图标
ImageView icon = new ImageView(mContext);
icon.setLayoutParams(params);
icon.setImageResource(apkInfo.iconId);
// 程序名字及版本号
TextView progressName = new TextView(mContext);
progressName.setLayoutParams(params);
progressName.setTextAppearance(mContext,
android.R.style.TextAppearance_Small);
progressName.setTextColor(android.R.color.black);
progressName.setText(apkInfo.programName + " 版本: V"
+ apkInfo.versionName);
// 开发团队LOGO
ImageView logo = new ImageView(mContext);
logo.setLayoutParams(new LayoutParams(284, 208));
logo.setImageResource(R.drawable.logo);
// 开发者网站
TextView authorBlog = new TextView(mContext);
authorBlog.setTextAppearance(mContext,
android.R.style.TextAppearance_Small);
authorBlog.setTextColor(android.R.color.black);
authorBlog.setText(R.string.author_blog);
authorBlog.setGravity(Gravity.CENTER_HORIZONTAL);
authorBlog.setAutoLinkMask(Linkify.WEB_URLS);
authorBlog.setLayoutParams(params);
inLayout.addView(icon);
inLayout.addView(progressName);
inLayout.addView(logo);
inLayout.addView(authorBlog);
layout.addView(inLayout);
return layout;
}
分享到:
相关推荐
【标题】:“中国象棋源码——未实现网络”指的是一个关于中国象棋游戏的编程项目,该项目已经实现了游戏的基本功能,但是网络对战部分尚未完成。开发者在尝试添加网络功能,以便玩家可以通过局域网进行对弈,但由于...
- 提供断点续传功能,以便用户在中断下载后能继续未完成的部分。 10. **安全考虑**: - 确保更新过程中的所有网络通信都是加密的,使用HTTPS协议以防止中间人攻击。 - 对于下载的APK文件,应用应当进行签名验证...
- `NextButtonClick`示例代码询问用户是否要转到下一页,而`BackButtonClick`的示例代码未给出,但原理相同。 6. **CancelButtonClick** 过程: - 当用户点击取消按钮或关闭窗口时调用。 - 此过程有两个参数:`...
- `say_hello1(self)`: 这个方法似乎不完整,只包含了部分代码,可能是一个未完成的功能。 5. **Toga布局和样式**: - `Pack`类用于定义元素的布局属性,如`direction`(方向),`padding`(内边距)等,使得我们可以...
7.7 友好地互动交流——对话框(Dialog)介绍与实例 119 7.8 温馨的提醒——Toast和Notification应用 127 7.8.1 实例操作演示 128 7.8.2 实例编程实现 129 7.9 本章小结 135 第8章 移动信息仓库——...
本篇将深度探讨一个特殊的VC++项目——"EXE文件捆绑机"的源代码,揭示其背后的编程思想和技术实现。 首先,我们要明白"EXE文件捆绑机"的基本概念。这种工具允许用户将两个或多个可执行文件(EXE)合并为一个单一的...
例如,当用户试图关闭未保存的文档时,系统会弹出询问是否保存的对话框。用户的选择直接影响系统行为,选择【是】则保存并关闭文档,选择【否】则不保存并关闭,而【取消】则保持文档打开状态不变。 #### ...
这个压缩包文件"安卓Andriod源码——仿微信的录音功能.zip"提供了实现类似微信录音功能的源代码示例,主要涉及到以下几个核心知识点: 1. **MediaRecorder**: 这是Android系统提供的一个类,用于录制音频、视频或者...
《运动会成绩管理系统——MFC对话框编程实践》 在信息技术高度发达的今天,运动会成绩管理系统的应用已经成为体育赛事中不可或缺的一部分。本系统采用MFC(Microsoft Foundation Classes)框架进行开发,充分利用了...
在示例中,作者测试了一段未给出的代码,并通过“调试——直接调试”来查看执行结果。执行完毕后,控制台将显示程序的输出,从而帮助你验证代码的正确性和调试问题。 总的来说,这个过程涉及了Windows CE智能设备...
### 相关知识点 #### 一、走进Visual C++ **1.... - **Workspace 文件(.dsw)** - **作用**:Workspace 文件是...通过掌握这些知识点,开发者能够更加高效地完成开发任务,并确保应用程序具有良好的用户体验和稳定性。
这通常通过"工具"菜单的"组件"选项完成,然后在打开的对话框中选择Adobe Flash Player控件。 4. **控件属性设置**: - 添加控件后,可以设置其属性以指定要播放的SWF文件路径,例如`Movie`属性。 - 其他属性如`...
### LR培训心得——LR详细整个过程的详细介绍 #### 一、准备培训环境 在开始LoadRunner(以下简称LR)的学习之前,首先要确保培训环境的搭建。这包括安装LR脚本编译器VUGen以及测试实例网站。 - **安装VUGen**:...
然而,在Internet Explorer浏览器中,提供了更强大的对话框方法——`showModalDialog()`与`showModelessDialog()`,它们能够为用户提供更复杂的交互体验。 #### 二、`showModalDialog()`与`showModelessDialog()`的...
具体实现细节未在给出的代码段中展示,但通常会遍历GridView的列和行,将单元格内容添加到PDF的表格中。 9. **字体处理**:`FontPath`参数用于指定PDF中使用的字体的物理路径,`FontSize`参数则定义了字体的大小。...
"pendingconversion"标签暗示着文件转换可能正处于待处理的状态,可能是因为编译、链接或其他构建步骤还未完成。 【描述】中提到的内容是关于一个基于MFC(Microsoft Foundation Classes)的对话框应用程序。MFC是...
7.7 友好地互动交流——对话框(Dialog)介绍与实例 7.8 温馨的提醒——Toast和Notification应用 7.8.1 实例操作演示 7.8.2 实例编程实现 7.9 本章小结 第8章 移动信息仓库——Android的数据存储操作 8.1 Android数据...
总的来说,《中国双升游戏之掏底大战》不仅是一个未完成的作品,更是一个开放的平台,等待着有志于游戏编程和双升游戏的爱好者们去发掘、完善和创新。通过研究源码和资源,我们可以学习到游戏设计的基本原理,体验到...
未完成: 3、录制过程也可改用计时器,可记入休止符?! 4、增加自定义键盘按键设置!电脑键盘图片资源已准备好。(工作量似乎不小!) --------------------------------------------------------------------...