冒个泡 , 发一个刚做的声音波动的View吧 : 代码不多 , 没什么技术含量 , 权当给您省时间了 , 直接复制粘贴就能用 , 直接上代码: SoundWavesView /** * 语音通话的声波控件...private int mSoundNum = 5; // 声波的数量 private int mSpac; // 每条声波的中点 private int mWidth , mHeight; // 控件宽高
:text="This is TextView" /> android:id :给当前控件定义了一个唯一标识符。...android:layout_width:指定控件的宽度,可选值:match_parent (fill_parent)和wrap_content ,match_parent 表示让当前的控件的大小和父布局的大小一样...,也就是由父布局来决定当前控件的大小;wrap_content表示让当前控件的大小能够刚好包含住里面的内容,也就是由控件内容决定当前大小,也可以设置特定的大小。...android:layout_height:指定控件的高度,内容同上。 android:gravity :来指定文字的对齐方式,可选值有top、bottom、left、right、center等。...EditText 在控件里输入和编辑内容 <EditText android:id="@+id/edit_text" android:layout_width="match_parent
> < com.niceapp.lib.tagview.widget.TagView xmlns:android ="http://schemas.android.com/apk/res/android...= "#ff000000" android:textSize= "16.0sp" /> 显演示样例如以下: 在github上有一个 android-flowlayout 控件,它是依据子视图的大小来动态包裹视图...,如图: 因此,控制换行就能够利用这个控件去实现,无需反复发明轮子。...android-flowlayout功能实现的类是FlowLayout,所以通过继承这个类来完毕标签控件的实现。...; import android.util.AttributeSet; import android.util.TypedValue; import android.view.View; import
今天,我们的主题是基础控件RadioButton。...这个控件可以由非选中状态通过点击事件转为选中状态,但是不能通过点击实现逆向的状态转换,一个默认样式RadioButton控件的非选中和选中状态如下: ?...在上面我们在简介中得知,这个控件能通过点击事件实现的效果如下(不能逆向改变状态): ? 接下来,我们对其基本属性进行设置,改变一下它的样式: ?...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...="@drawable/non_chosen_big"> 该控件的开源项目在网上找了一下,感觉没有什么比较好的,主要是因为它的封装程度已经很高了,如果只是想改动一下显示样式和逻辑
转载请标明出处: http://blog.csdn.net/forezp/article/details/51873137 本文出自方志朋的博客 最近在研究android 开发的新控件,包括...:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto..." android:id="@+id/id_drawerlayout" android:layout_width="match_parent" android:layout_height..." android:layout_gravity="left" android:layout_width="match_parent" android:layout_height...View mView= LayoutInflater.from(context).inflate(R.layout.item_demo_adapter,parent,false); 还有一些其他的控件如
新建项目: 1 New Android Project-> 2 Project name:HelloSpinner 3 Build Target:Android 2.2 4 Application name...; 6 import android.app.Dialog; 7 import android.app.TimePickerDialog; 8 import android.os.Bundle;...9 import android.view.View; 10 import android.view.View.OnClickListener; 11 import android.widget.Button...> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation...android:id="@+id/btn_timepicker" 14 android:layout_width="fill_parent" 15 android:layout_height
Android滑动删除控件 效果展示 代码实现 静态布局 自定义一个ViewGroup,继承至FrameLayout,覆写其中的几个关键方法,用于给其中的两个子view设置布局位置。
SurfaceView 应用程序的视频或者opengl内容往往是显示在一个特别的UI控件中:SurfaceView。SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。...也难以放在ListView或者ScrollView中,不能使用UI控件的一些特性比如View.setAlpha()。...="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"...android:layout_width="match_parent" android:layout_height="176dp" android:paddingTop="@dimen/..." android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen
#ImageView_adjustViewBounds * @attr ref android.R.styleable#ImageView_src * @attr ref android.R.styleable...#ImageView_maxWidth * @attr ref android.R.styleable#ImageView_maxHeight * @attr ref android.R.styleable...#ImageView_tint * @attr ref android.R.styleable#ImageView_scaleType * @attr ref android.R.styleable...效果上来看,图片位置偏移了 [cropToPadding.gif] android:cropToPadding="true" android:scrollY="@dimen/sp_30" android...:layout_width="wrap_content" android:layout_height="wrap_content" android:maxHeight="50dp" android:maxWidth
; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color...; import android.graphics.Paint; import android.graphics.RectF; import android.text.TextUtils; import...android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="...ResourcesUtils.getLayoutId(this, "activity_password")); initView(); initListener(); } /** * 初始化控件
首先声明,控件是引用其他大佬写好的。这里只是做一个记录,因为好用,以后还想用,嘿嘿。...cn.aigestudio.wheelpicker:WheelPicker:1.1.3'//滚轮选择器 //xml中做引入我们的滚轮选择器 <com.aigestudio.wheelpicker.WheelPicker android...:id="@+id/wheel" app:wheel_item_text_size="13sp" android:layout_width="match_parent..." android:layout_height="wrap_content" android:layout_marginLeft="20dp"...android:layout_marginRight="20dp"/> //这里是做基本配置。
或 android:singleLine="true" android:ellipsize="end" --- 4.跑马灯效果 android:focusable="true" android:focusableInTouchMode...="true" android:ellipsize="marquee" android:singleLine="true" android:marqueeRepeatLimit="marquee_forever...:shadowColor="#DAA0F8" android:shadowDx="5" android:shadowDy="5" android:shadowRadius="10" --- 7.字间距、...行间距 [字间距.png] android:letterSpacing="0.5"//设置字间距 android:lineSpacingExtra //设置行间距,如”8dp”。...android:lineSpacingMultiplier//设置行间距倍数,如“1.2”,即为1.2倍行间距 --- 8.设置textView抗锯齿 mIdTv.getPaint().setAntiAlias
1、New Android Project-> Project name:Button Build Target:Android 2.2 Application name:ButtonDemo Package..., Toast.LENGTH_LONG).show(); } }); } } 3、修改main.xml文件 <Button android:id="@+id/button1"...android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button1" />
mport android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory;...import android.graphics.Canvas; import android.graphics.Rect; import android.os.Handler; import android.os.Message...; import android.os.Vibrator; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent...; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import...{ private static String TAG = "SliderRelativeLayout"; private TextView tv_slider_icon = null; // 初始控件
控件大致被分为两类,ViewGroup控件和View控件。ViewGroup空间可以包含多个View控件,并管理其包含的View控件。...通过ViewGroup,整个界面上的控件形成一个树形结构,也就是我们常说的控件树,上层控件负责下层子控件的测量与绘制,并传递交互事件。...通常在Activity中使用findViewById()方法,就是在控件树中以树的深度优先遍历来查找对应元素。...下面来看一下Android界面的架构图,如下图所示。 ? 每个Activity都包含一个Window对象,在Android中Window对象通常由PhoneWindow来实现。...不过这里要注意的是,由于每个Android版本对UI的修改都比较多,上图只是比较粗略地显示了视图树的结构。
setContentView(MyView); 第二种写法 利用xml 1、在xml中 2、在其根布局 添加声明 : xmlns:ymy(自己起的名)=”http://schemas.android.com.../apk/res/项目的主包名” 3、给自定义的控件中添加attrs 中定义好的属性 : ymy:Text = “顺丰快递” xmlns:ymy=”http://schemas.android.com.../apk/res/com.ming” android:layout_width=”match_parent” android:layout_height=”match_parent” android:orientation...=”vertical” > android:layout_width=”400dp” android:layout_height=”300dp” ymy:TextColor = “#ABCDEFEF”
看到一些应用中的点赞觉得挺有意思,具体效果大概就是这个样子 50buq-l34h1.gif 然后我仿写了下,效果差不多,代码比较简单就不过多说明了 import android.animation.Animator...; import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.annotation.SuppressLint...; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import...android.graphics.Paint; import android.support.annotation.Nullable; import android.util.AttributeSet...; import android.view.View; public class LikeView extends View { private static final String DEFAULT_TEXT_COLOR
TextView控件学习 TextView控件可以向用户展现文本信息,我们可以设置该文本信息是否能编辑 1、TextView基本使用 在程序中创建TextView对象 在xml文件中布局使用 2、New...,如果有很多哥控件时,那么我们需要写很多的代码去进行控件的布局,这样,为我们以后的维护会带来很大的困难。...所以,在Android开发中,推荐使用xml文件进行控件布局 4、在main.xml文件中添加控件 <TextView android:id=”@+id/myTextView...” 8、跑马灯效果 android:ellipSize设置文字过长时,该控件是如何显示的呢? ...--触摸时获得焦点--> android:focuseableTouchMode=”true” android:singleLine=”true”
Android记录 滚动选择控件 这应该是我用过的中,最好用的滚轮控件了,但是因为support包和我的不兼容,所以在依赖的时候把support包排除掉 依赖: implementation ("...com.github.bumptech.glide:glide:$glide_version") { exclude group: "com.android.support"} 使用: 代码控制: private fun initWheelView(wheelView
看到ios版上QQ刷新效果像水滴,然后自己也想着去实现这样的效果,这篇文章暂时没有介绍下拉刷新的效果,只是单独用一个控件来实现这样的水滴效果。 效果图如下: ?
领取专属 10元无门槛券
手把手带您无忧上云