`
zhouxiaoli521
  • 浏览: 566605 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android应用开发之(Gallery默认居左解决方案)

 
阅读更多

Android 中的Gallery控件默认会将第一项居中显示,在某些场景会影响用户体验,分享一下居左的解决方案:

/**
* Align the first gallery item to the left.
*
* @param parentView The view containing the gallery widget (we assume the gallery width
* is set to match_parent)
* @param gallery The gallery we have to change
*/
private void alignGalleryToLeft(View parentView, Gallery gallery) {
int galleryWidth = parentView.getWidth();

// We are taking the item widths and spacing from a dimension resource because:
// 1. No way to get spacing at runtime (no accessor in the Gallery class)
// 2. There might not yet be any item view created when we are calling this
// function
int itemWidth = context.getResources()
.getDimensionPixelSize(R.dimen.gallery_item_width);
int spacing = context.getResources()
.getDimensionPixelSize(R.dimen.gallery_spacing);

// The offset is how much we will pull the gallery to the left in order to simulate
// left alignment of the first item
int offset;
if (galleryWidth <= itemWidth) {
offset = galleryWidth / 2 - itemWidth / 2 - spacing;
} else {
offset = galleryWidth - itemWidth - 2 * spacing;
}
offset = 0;

// Now update the layout parameters of the gallery in order to set the left margin
MarginLayoutParams mlp = (MarginLayoutParams) gallery.getLayoutParams();
mlp.setMargins(-offset, mlp.topMargin, mlp.rightMargin, mlp.bottomMargin);
}

 

=====

未验证

 

http://androidit.diandian.com/post/b8c29a20-e368-11e0-94a3-782bcb32ff27

分享到:
评论

相关推荐

    Android应用源码之12.RelativeLayout.zip

    在Android应用开发中,RelativeLayout是一种常用的布局管理器,它允许我们根据相对位置...通过深入研究"Android应用源码之12.RelativeLayout"中的示例,开发者可以深化对RelativeLayout布局的理解,提升应用开发技能。

    android开发记录分类-Tag标签列表 - 农民伯伯 - 博客园.pdf

    - **androidGallery默认选中**:讲解了如何为Gallery组件设置默认选中的图片索引。 4. **androidsdk中文**(21篇): - 该标签下的文章专注于介绍Android SDK的中文文档和工具使用,帮助开发者更高效地进行开发...

    Android TabHost 标签在屏幕左侧样例

    在Android开发中,TabHost是一个常用的组件,用于创建带有多个Tab的界面,这些Tab可以切换不同的内容区域。然而,Android SDK中的默认TabHost设计将标签置于屏幕顶部或底部,这可能无法满足所有开发者的设计需求。在...

    C#tabcontrol中标签居左显示重绘代码

    TabControl 控件是 Windows 窗体应用程序中常用的控件之一,用于在应用程序中创建标签式的界面。TabControl 控件可以包含一个或多个标签页,每个标签页可以包含不同的控件和内容。 二、TabControl 控件的标签居左...

    Android自定义view实现画布,镜像画布,Android简单的主题颜色切换

    Android自定义view实现画布,镜像画布,Android简单的主题颜色切换 下载前请先看效果图,确定是否是您想要的 效果图地址:http://blog.csdn.net/ink_s/article/details/79021904

    HarmonyOS应用开发-放大与缩小效果展现.zip

    在 HarmonyOS 应用开发中,实现物体的放大与缩小效果是增强用户交互体验的关键技术之一。这通常涉及到图形绘制、动画处理以及视图变换等多个方面。本教程将深入探讨如何在 HarmonyOS 平台上创建这样的动态效果,帮助...

    Android 五大布局

    在Android开发中,UI设计是至关重要的,而布局管理器是构建用户界面的基础。本文将详细介绍Android中的五大布局:FrameLayout、LinearLayout、AbsoluteLayout、RelativeLayout和TableLayout。 **FrameLayout**是最...

    居左居右UILabel

    在实际应用中,我们经常需要对UILabel的布局进行调整,使其内容既能居左显示,也能居右显示,以满足不同场景的需求。"居左居右UILabel"这个主题就是关于如何实现UILabel内容在屏幕中灵活布局的技术点。 首先,让...

    灰色居左html5企业网站模板.zip

    灰色居左html5企业网站模板,简洁大气,全套模板,DIV CSS布局,包含blog.html,contact.html,features.html,gallery.html,index.html,portfolio.html,single.html,skins.html等多个页面网站模板。

    android屏幕自适应android属性[参照].pdf

    在Android开发中,屏幕自适应是一项重要的任务,它确保应用程序在不同尺寸和分辨率的设备上都能呈现出良好的用户体验。为了实现这一点,开发者需要充分利用Android提供的布局属性和控件特性。以下是一些关键的知识点...

    一句话调用动态生成标签个数的标签栏,并可以设置 标签居左或是居中或是居右显示,支持单选或者多选

    标签可以居左、居中或居右显示,这通常通过CSS(层叠样式表)来实现。例如,使用`text-align`属性可以轻松调整元素的对齐方式:`text-align: left`、`text-align: center` 或 `text-align: right`。在JavaScript库或...

    Android 蓝牙连接 ESC/POS 热敏打印机打印实例(ESC/POS指令篇)

    在Android开发中,连接并控制ESC/POS热敏打印机是一项常见的任务,特别是在餐饮、零售等行业的移动支付场景中。本文将深入探讨如何通过蓝牙连接Android设备到ESC/POS热敏打印机,并利用ESC/POS指令进行文本和图片的...

    单栏居左记事本风格网页模板_二栏 居左 记事本 个性 整站.zip

    "整站"模板意味着该模板不仅仅是一个单一页面的设计,而是一个完整的网站解决方案。它可能包含首页、关于我们、联系我们、文章列表和单篇文章等多种页面类型,满足了建立一个功能齐全、结构完整网站的需求。 总的来...

    管理解决方案大赛成果报告.pdf

    【管理解决方案大赛成果报告】 浙江大学管理学院的第二届管理解决方案大赛要求参赛团队提交包含商业案例和咨询报告的成果报告。这份报告旨在检验学生的分析能力和解决实际管理问题的能力,同时,也注重报告的形式...

    Android之UI设计技巧.docx

    在Android开发中,**TabHost** 和 **TabActivity** 是用来实现标签式导航的重要工具,它们能够帮助开发者创建出具有多个标签页的应用界面。 ###### 1.1.1 TabHost的第一种使用方法 1. **定义一个Activity继承于...

    android可以设置drawableLeft宽和高的控件

    在Android开发中,我们经常需要对用户界面进行定制,使其更具吸引力和功能性。"drawableLeft"是Android控件(如TextView、Button等)的一个属性,用于在文本或内容的左侧添加一个图标。这个图标通常是一个图形资源,...

    单栏居左记事本风格网页模板_二栏 居左 记事本 个性 整站_html网站模板_网页源码移动端前端_H5模板_自适应响应.rar

    综合来看,这个“单栏居左记事本风格网页模板”结合了HTML5的语义性、CSS的视觉美化能力、JavaScript的交互性,以及响应式设计的灵活性,为创建个性化、功能丰富的网站提供了一个强大的解决方案。开发者可以利用这个...

    单栏居左记事本风格网页模板-二栏 居左 记事本 个性 整站.rar

    "整站"意味着这个模板包含了完整的网站结构,包括首页、内页和其他必要的元素,可以直接应用于一个完整的网站项目。 标签“模板”明确了这是一个可复用的设计资源,对于那些没有太多设计经验或者想要快速搭建网站的...

    Easyui tabs 标题居左,文字竖着

    Easyui tabs 标题居左,文字竖着

    Android中使用RelativeLayout布局完成的登录界面教学案例任务说明.pdf

    在Android应用开发中,界面设计是至关重要的一步,而`RelativeLayout`是Android提供的一种布局管理器,它允许我们在界面上创建复杂且灵活的布局结构。本篇教学案例旨在指导学生如何利用`RelativeLayout`来实现一个...

Global site tag (gtag.js) - Google Analytics