gridview 自适应平均android界面

需要重写

GridView和BaseAdapter
public class WrapGridview extends GridView{
    public WrapGridview(Context context) {
        super(context);
    }
    public WrapGridview(Context context,AttributeSet attributeSet) {
        super(context,attributeSet);
    }
    public WrapGridview(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {//这是主要代码
        int expandSpec = MeasureSpec.makeMeasureSpec(
                Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }
}

class AutAdapter extends BaseAdapter {
        private List<Map<String, Object>> autlist = AutList();

        @Override
        public int getCount() {
            return autlist.size();
        }

        @Override
        public Map<String, Object> getItem(int i) {
            return autlist.get(i);
        }

        @Override
        public long getItemId(int i) {
            return i;
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            AutHolder autHolder = null;
            if (view == null) {
                view = View.inflate(SkillInfoActivity.this, R.layout.item_authentication, null);
                autHolder = new AutHolder();
                view.setLayoutParams(new GridView.LayoutParams(sidew, sidew));//这是主要的   控制item的大小
                autHolder.iv = (ImageView) view.findViewById(R.id.skill);
                autHolder.tv = (TextView) view.findViewById(R.id.aut);
                view.setTag(autHolder);
            } else {
                autHolder = (AutHolder) view.getTag();
            }
            Map<String, Object> autmap = getItem(i);
            autHolder.iv.setImageResource(Integer.parseInt(autmap.get("img").toString()));
            autHolder.tv.setText(autmap.get("title").toString());
            return view;
        }

    }
时间: 2024-11-03 21:58:34

gridview 自适应平均android界面的相关文章

Android界面编程——导航栏及菜单(六)

Android界面编程--导航栏及菜单 2.7导航栏及菜单 2.7.1  ActionBar ActionBar是Android3.0(API 11)开始增加的新特性,ActionBar出现在活动窗口的顶部,可以显示标题.icon.Actions按钮.可交互View,可实现应用程序级的导航,如图2.7-1所示 图2.7-1 其中 1. App icon: 主要用于展示App的Logo,如果当前界面不是一级界面,还可以展示返回航. 2.View Control: 用于切换不同的视图或者展示非交互信

Android界面性能调优手册

转载:https://androidtest.org/android-graphics-performance-pattens/#11 界面是 Android 应用中直接影响用户体验最关键的部分.如果代码实现得不好,界面容易发生卡顿且导致应用占用大量内存. 我司这类做 ROM 的公司更不一样,预装的应用一定要非常流畅,这样给客户或用户的第一感觉就是快.又卡又慢的应用体验,会影响客户或用户对产品的信心和评价,所以不可忽视. 目录 一. Android渲染知识 1.1 绘制原理 1.2 掉帧 1.3

Android界面编程——Android高级UI组件(三)

Android界面编程 Android高级UI组件 2.4.1适配器组件 适配器的作用 适配器充当适配器控件和该视图数据之间的桥梁.适配器提供访问的数据项,并负责产生数据组中的每个项的视图. 常用的适配器 BaseAdapter:抽象类,具有较高的灵活性. ArrayAdapter:最为简单,智能展示一行文字. SimpleAdapter:有较好的扩充性,可以自定义出各种效果. SimpleCursorAdapter:主要用于操作数据库. 常用的适配器控制 适配器控件扩展自ViewAdapter

Android 界面编程 探险(二)

本篇将开始Android 界面编程探险(二)的旅程. 1.UI组件-AdapterView及其子类(二) 1)自动完成文本框(AutoCompleteTextView)的用法 MultiAutoCompleteTextView是AutoCompleteTextView派生的子类,MultiAutoCompleteTextView允许输入多个提示项,多个提示项以分隔符分隔.下面简单演示AutoCompleteTextView和MultiAutoCompleteTextView的用法: main.x

android界面设计之布局管理

谈到android界面设计,各种布局样式不得不提!传统的布局方式有6种,我们会一一介绍. 在android studio2.2版本之后出现了一款超棒的布局方式,真正意义上的所见即所得,后面我们也会讲到! 1.LinearLayout:线性布局:线性布局又有两种,"垂直布局"和"水平布局". 垂直布局每一行只能有一个控件(自己嵌套的不算): 水平布局只有一行,所有的控件依次从左向右排列: linearLayout中有一个重要的属性 android:layout_wei

android界面设计之布局

一.线性布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orie

iOS中xib与storyboard原理,与Android界面布局的异同

用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML可以理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中主要的布置界面的方式有3种:代码,xib,storyboard. 1. 代码 代码布置界面是万能的,但通常很复杂.布置一个简单的界面可能需要很多行代码,因此十分繁琐. 下面为创建一个按钮的代码,最少也要3行: UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd

GridView & ListView (Android盒子开发)

一.GridView在Android4.4下关于焦点的bug的解决方式 Android4.4下,关于GridView有一个关于焦点的bug.这个bug并不容易被发现,但是在电视盒子的开发过程中就很明显.具体表现是,Gridview会一直持有一个焦点,只要有数据,就一直会有一个子View是Selected状态.而且,当数据从无到有的时候,GridView还会抢焦点. 最后解决这个bug的方式是这样的,建立一个自定义的GridView,重写一个方法, @Override public boolean

看大家android界面设计是拿Android Design UI Kit设计的,不直接在eclipse里设计,但是UI KIT怎么用呢

============问题描述============ Android 4.4 Design UI Kit (Nexus 4 version)打开十psd格式的,看网上说吧psd里面自己需要用到的东西保存为png格式,然后是要把png格式的图片当做android控件的背景使用? 其他类似的工具呢? ============解决方案1============ 一切不问是不是就问为什么的都是耍流氓,不知道你是怎么得出"android界面设计是拿Android Design UI Kit设计的,不直