android-gridView item 大小调节

 public static int dip2px(Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    } 

 @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
        int childLeft = 0;
        final int childCount = getChildCount();
        for (int i = 0; i < childCount; i++) {
            final View childView = getChildAt(i);
            if (childView.getVisibility() != View.GONE) {
                final int childWidth = childView.getMeasuredWidth();
/* Vanzo:zhangshuli on: Wed, 21 Jan 2015 18:12:28 +0000
                childView.layout(childLeft, 0, childLeft + childWidth,
                        childView.getMeasuredHeight());
 */
                int top = (int) mContext.getResources().getDimension(R.dimen.share_item_port_top);
                childView.layout(childLeft, top, childLeft + childWidth,
                        childView.getMeasuredHeight());
// End of Vanzo: zhangshuli
                childLeft += childWidth;
            }
        }
    }
 @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
            if (convertView == null) {
                if (MmsConfig.getIpMessagServiceId(mContext) == IpMessageServiceId.NO_SERVICE) {
                    convertView = LayoutInflater.from(mContext).inflate(R.layout.share_grid_common_item, null);
                } else {
                    convertView = LayoutInflater.from(mContext).inflate(R.layout.share_grid_item, null);
                }
                convertView.setTag(convertView);
            } else {
                convertView = (View) convertView.getTag();
            }
/* Vanzo:zhangshuli on: Wed, 21 Jan 2015 18:16:59 +0000
 */
            int height = (int) mContext.getResources().getDimension(R.dimen.share_item_port_height);
            int width = (int) mContext.getResources().getDimension(R.dimen.share_item_port_width);
            AbsListView.LayoutParams param = new AbsListView.LayoutParams(width, height);
            convertView.setLayoutParams(param);
// End of Vanzo:zhangshuli

            TextView text = (TextView) convertView.findViewById(R.id.tv_share_name);
            ImageView img = (ImageView) convertView.findViewById(R.id.iv_share_icon);
            if (position < mStringArray.length) {
                text.setText(mStringArray[position]);
                img.setImageResource(mIconArray[position]);
            }
            return convertView;
        }
    }   
时间: 2024-10-23 23:21:21

android-gridView item 大小调节的相关文章

Android GridView子元素item按击交互设计:背景颜色改变

<Android GridView子元素按击交互设计:背景颜色改变> 效果图: 大致的需求和ListView相仿,就是要求用户点击GridView中的子元素时候,要有一定的交互响应(背景颜色改变表明用户的操作).重点是在GridView的适配器中,子元素的布局文件中,把android:background属性配置成一个响应的selector,在selector中分别处理android:state_pressed事件在true和false两种状态下的情况. 首先写一个MainActivity:

android gridview画分割线

dongyangzhang android gridview画分割线,如图: 1.先上图: 2.具体实现代码: public class LineGridView extends GridView { public LineGridView(Context context) { super(context); // TODO Auto-generated constructor stub } public LineGridView(Context context, AttributeSet at

Android GridView中Button点击事件onItemClick不能响应

今天在捣鼓一个类似于百度贴吧的东西.布局:上面是个ActionBar标题栏,然后是一个GridView布局,在Java代码中动态加载关注的贴吧,一切就绪中,很愉快的弄好了! 现在需要点击选项进入某个贴吧,那么问题来了—— GridView中Button点击事件onItemClick不能响应. 所以,主要的猫腻还是在com.android.internal.R.attr.buttonStyle这个里面,查看这个xml文件,Button设置多了两个属性如下:<item name="androi

Android 4.4 音量调节流程分析(二)

之前在Android 4.4 音量调节流程分析(一)里已经有简单的分析音量控制的流程,今天想接着继续分析下音量大小计算的方法.对于任一播放文件而言其本身都有着固定大小的音量Volume_Max,而在AudioPolicyManagerBase.cpp文件中音量调节可以理解为在Volume_Max的基础上乘以系数κ(0≤κ≤1). 现在对AudioPolicyManagerBase.cpp中volIndexToAmpl函数做具体分析,volIndexToAmpl的函数定义如下: 1 float A

Xamarin 实现android gridview 多选

参考文章:http://blog.csdn.net/zhouyuanjing/article/details/8372686 GridView初始化代码: gridViewStudent = FindViewById<GridView> (Resource.Id.gridViewStudent); //GridViewAdapter 自定义的Adapter GridViewAdapter gridAdapter = new GridViewAdapter (this,stu); //更新图片

Android 4.4 音量调节流程分析(一)

最近在做Android Audio方面的工作,有需求是在调节Volume_Up_Key & Volume_Down_key时,Spearker or Headset每音阶的衰减变为3db左右.所以利用Source Insight分析Android源码中音量控制的流程,如有错误,欢迎指正,谢谢! 以下是调节音量的流程: Step_1.首先在调节机台Volume_Up_Key & Volume_Down_Key操作时,系统会调用到AudioManager.java中handleKeyUp &a

Android GridView属性集合2

GridView的一些特殊属性: 1.android:numColumns=”auto_fit”   //GridView的列数设置为自动 2.android:columnWidth=”90dp "       //每列的宽度,也就是Item的宽度 3.android:stretchMode=”columnWidth"//缩放与列宽大小同步 4.android:verticalSpacing=”10dp”          //两行之间的边距 5.android:horizontalS

Android裁剪固定大小头像的功能

转载自: http://www.eoeandroid.com/thread-497277-1-1.html 效果很好,特意转载过来记录一下,加深一下印象. 效果就是 :中间的方框不动,可以拖动图片,选择要裁剪的位置. 源码下载地址:http://download.csdn.net/detail/abc13939746593/7540163 Android裁剪固定大小头像的功能,布布扣,bubuko.com

Android GridView 属性

1 <GridView android:id="@+id/grid" 2 android:layout_width="fill_parent" 3 android:layout_height="fill_parent" 4 android:verticalSpacing="35px" <!-- grid元素之间的竖直间隔 --> 5 android:horizontalSpacing="5px&qu