无意中搜索到这篇文章,大概扫了一眼,知道是篇好文,先转载记录下来学习! 文章主要讲的是自定义view的写法心得. 转自:http://www.apkbus.com/android-48445-1-1.html 在android应用程序的开发过程中,相信我们很多人都想把应用的交互做的比较绚丽,比如让界面切换平滑的滚动,还有热度灰常高的伪3D等界面效果,通常情况下,系统提供的应用在特效这方面只能为我们提供简单的动画接口,所以要想实现比较酷炫的效果还是要自己去开发布局控件(即所谓的自定义View.Vi…
线性布局中,有 4 个及其重要的参数,直接决定元素的布局和位置,这四个参数是 android:layout_gravity ( 是本元素相对于父元素的重力方向 ) android:gravity (是本元素所有子元素的重力方向) android:orientation (线性布局以列或行来显示内部子元素) android:layout_weight (线性布局内子元素对未占用空间[水平或垂直]分配权重值,其值越小,权重越大. 前提是子元素 设置了 android:layout_width = "…
第一步 final LayoutInflater inflater = LayoutInflater.from(this); 第二步:获取需要被添加控件的布局 final LinearLayout lin = (LinearLayout) findViewById(R.id.LinearLayout01); 第三步:获取需要添加的布局(控件) LinearLayout layout = (LinearLayout) inflater.inflate( R.layout.listview, nul…
最近几天在做文件上传的时候,想在自定义Adapter中启动activity时也返回Intent数据,于是想到了用startActivityForResult,可是用mContext怎么也调不出这个方法,只能调用startActivity这个方法,于是在网上搜一下,可以利用一个方式可以间接的解决这个问题,果断贴代码: Intent mIntent = new Intent(mContext,clazz); ((Activity) mContext).startActivityForResult(m…
昨日看到有人在知乎上问这3个琐碎的小知识点,今天索性就整理了一下,其实这些知识点并不难,但是很多开发者平时很少注意到这些, 导致的后果就是开发的时候 经常会被ide报错,开发效率很低,或者看开源代码的时候很多地方看不懂. 考虑到现在越来越多的人开发环境迁移到android studio,所以一切以android studio环境为准.和eclipse开发环境相比其实两者是差不多的, 偶有区别 主要也是android studio引入的gradle脚本造成差异. 首先来看看tools标签. 这个地…
问题描述:最近做了一个自定义的控件LinearLayout就是公用的底部菜单条,在指定分辨率下(例如:480x800,480x854)下背景是正常的,但是当程序运行到非指定(默认)的分辨率下就不正常了(layout文件夹下).右边会显示空白.最开始的时候认为是图片的问题,找了好久也测试了好久,都没有找到方案.我在想到底是什么问题呢? 解决办法如下:在代码中指定布局的宽度问题解决 代码如下: LinearLayout.LayoutParams params = new LinearLayout.L…
网上说的都是在super(context, attrs);构造函数这里少加了一个字段, 其实根本不只这一个原因,属于view生命周期的应该知道,如果你在 自定义view的构造函数里面调用findViewById 铁定为空的,因为这个 时候view还在初始化阶段,还没有添加到activity的XML布局上,所以 你怎么调用都是没用的,解决办法就是把我们的findViewById方法换 一个生命周期上面调用就OK了,比如我就是在 protected void onAttachedToWindow()…
(图一)  (图二)    (图三) 做一个自定义的seekbar,更改其背景图片: <com.android.Progress android:id="@+id/focus_seekbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/seekbar_add" and…
先上两张图 第一张问题很明显,第二张是成功的图, 其实第一张是加了 //getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); // InputMethodManager imm = (InputMethodManager) // getSystemService(INPUT_METHOD_SERVICE); // imm.showSoftInput(layout, 0); //显示软键…
android 在布局中提供属性,能简单的加入动画效果,例如以下: <LinearLayout ... animateLayoutChanges="true" ... /> 当对布局中的view加入删除,隐藏或显示, 都会有一个淡入淡出,和位移动画. 除了在XML布局文件里使用animateLayoutChanges 属性.也能够创建 LayoutTransition 对象通过 setLayoutTransition() 方法设置进去.源代码例如以下: private Vi…