展开

关键词

android-自定义组合控件和 自定义组合控件不显示问题

代码实现参考自-Android群英传 首先定义 attrs 文件: 在定义 TopBar 类,使其继承自 ViewGroup ( 此处用RelatiLayout ) public class TopBar { // 左按钮点击事件 void LeftClick(); // 右按钮点击事件 void RightClick(); } 在活动的布局文件中调用: 在学习自定义控件的过程中 ,遇到了控件无法显示的问题: 预计效果: 实际效果: 解决: 原因:控件实例化石调用了错误的构造方法 方法:删去无用的构造方法 修改结果如下: public class TopBar extends

27450

Android 组合控件实现布局的复用的方法

<merge xmlns:android="http://schemas.android.com/apk/res/android" <! ="true" android:layout_marginLeft="5dp" android:background="@null" android:minHeight="45dp" android :minWidth="45dp" android:textSize="14sp" / <TextView android:id="@+id/title_bar_title" android ="@null" android:minHeight="45dp" android:minWidth="45dp" android:textSize="14sp" / </merge <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com

43351
  • 广告
    关闭

    【玩转 Cloud Studio】有奖调研征文,千元豪礼等你拿!

    想听听你玩转的独门秘籍,更有机械键盘、鹅厂公仔、CODING 定制公仔等你来拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android View体系(十)自定义组合控件

    相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四 View,接着我们来讲讲常用的自定义组合控件,自定义组合控件就是多个控件组合起来成为一个新的控件,主要用来解决多次重复的使用同一类型的布局。 比如我们应用的顶部的标题栏,还有弹出的固定样式的dialog,这些都是常用的,所以把他们所需要的控件组合起来重新定义成一个新的控件。 1.组合控件的xml布局 我们现在就自定义一个顶部的标题栏,当然实现标题栏有很多的方法,我们来看看自定义组合控件如何去实现。 首先我们先定义我们组合控件的布局(view_customtitle.xml): <?xml version="1.0" encoding="utf-8"?

    66790

    Android组合控件自定义标题栏

    本文实例为大家分享了Android简单的自定义标题栏,供大家参考,具体内容如下 android自定义控件向来都是开发者最头疼的,但是我们要有那种迎难而上的精神。 ; /* android自定义标题组合控件 步骤: 1.首先写出需要功能的布局xml,分析布局的父控件是谁? 例如水平布局 父控件应该是linearlayout较为合适 2.创建自定义控件类并继承xml父控件 3.在构造方法中使用layoutInflat动态加载布局 */ public class MainActivity LayoutInflater.from(context).inflate(R.layout.custom_layout, this); initView(); } private void initView() {//初始化控件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com

    23110

    Android信息界面编辑及组合控件的封装

    本文实例为大家分享了Android编辑信息界面,及组合控件的封装,供大家参考,具体内容如下 Github地址(完整Demo,欢迎下载) 效果图 ? attrs.xml <? <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com /apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" " <com.zx.itemgroup.ItemGroup android:id="@+id/name_ig" android:layout_width="match_parent" isEditable="false" app:paddingLeft="15dp" app:title="所在城市" / </LinearLayout 调用的activity /** * 组合控件封装

    21120

    Android语音声波控件 Android条形波控件

    冒个泡 , 发一个刚做的声音波动的View吧 : 代码不多 , 没什么技术含量 , 权当给您省时间了 , 直接复制粘贴就能用 , 直接上代码: SoundWavesView /** * 语音通话的声波控件 private int mSoundNum = 5; // 声波的数量 private int mSpac; // 每条声波的中点 private int mWidth , mHeight; // 控件宽高

    74741

    手机卫士自定义组合控件

    是GridView对象,view是当前View对象,position是当前索引 switch判断,当时设置中心的索引时,跳转到设置中心 设置中心界面 使用相对布局,右边的<CheckBox/> 位于父控件的右边 <View/>控件,高度0.2dp,背景色黑色,左右边距5dp,位于父控件底部 自定义组合View 为了重复利用,我们把这些放到一个组合的布局文件里面去 在ui包里,新建一个类SetingItemView 实现该类的三个构造方法,在这三个方法里面初始化View对象 调用View.inflate()方法,把布局文件加载到SetingItemView里面,参数:上下文,资源文件,当前对象this 实现点击组合控件的任何地方 ,CheckBox控件跟着展示不同状态 获取到三个控件对象,TextView CheckBox 定义方法isChecked(),检验组合控件是否选中,调用CheckBox对象的isChecked()方法 ,返回结果 定义方法setChecked(),设置组合控件的选中状态,调用CheckBox对象的setChecked(boolean)方法,参数:布尔值 定义方法setDesc(),设置组合控件描述信息

    21910

    自定义组合控件的过程

    自定义组合控件的过程 1.自定义一个View 一般来说,继承相对布局,或者线性布局 ViewGroup; 2.实现父类的构造方法。 一般来说,需要在构造方法里初始化自定义的布局文件; 3.根据一些需要或者需求,定义一些API方法; ---------------------------------- 4.根据需要,自定义控件的属性, 可以参照TextView属性; 5.自定义命名空间,例如: xmlns:itheima="http://schemas.android.com/apk/res/《包名》" xmlns:itheima ="http://schemas.android.com/apk/res/com.itheima.mobilesafe" 6.自定义我们的属性,在Res/values/attrs.xml <? AttributeSet attrs 取出我们的属性值,关联自定义布局文件对应的控件

    37180

    Android 标签控件

    > < 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

    8110

    Android组合式自定义控件实现购物车加减商品操作

    xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk /res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android <fanruiqi.www.com.jia.Addand android:id="@+id/add" android:layout_width="wrap_content" android ="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height "/ <TextView android:id="@+id/text" android:layout_width="50dp" android:layout_height

    45520

    Android控件与布局——基础控件RadioButton

    今天,我们的主题是基础控件RadioButton。 这个控件可以由非选中状态通过点击事件转为选中状态,但是不能通过点击实现逆向的状态转换,一个默认样式RadioButton控件的非选中和选中状态如下: ? 在上面我们在简介中得知,这个控件能通过点击事件实现的效果如下(不能逆向改变状态): ? 接下来,我们对其基本属性进行设置,改变一下它的样式: ? > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com ="@drawable/non_chosen_big"></item> </selector> 该控件的开源项目在网上找了一下,感觉没有什么比较好的,主要是因为它的封装程度已经很高了,如果只是想改动一下显示样式和逻辑

    22310

    Android滑动删除控件

    Android滑动删除控件 效果展示 ? 代码实现 静态布局 自定义一个ViewGroup,继承至FrameLayout,覆写其中的几个关键方法,用于给其中的两个子view设置布局位置。

    1.1K20

    android开发_TimePicker控件

    新建项目: 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

    41410

    Android 密码控件实现

    ; 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(); } /** * 初始化控件

    42150

    Android 滚轮控件WheelView

    首先声明,控件是引用其他大佬写好的。这里只是做一个记录,因为好用,以后还想用,嘿嘿。首先来看一下笔者的实现效果吧 ? 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"/> //这里是做基本配置。

    1.3K10

    Android控件之TextView

    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

    52820

    Android控件之ImageView

    #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

    22800

    android开发_Button控件

    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" />

    28330

    3.1 Android控件架构

    控件大致被分为两类,ViewGroup控件和View控件。ViewGroup空间可以包含多个View控件,并管理其包含的View控件。 通过ViewGroup,整个界面上的控件形成一个树形结构,也就是我们常说的控件树,上层控件负责下层子控件的测量与绘制,并传递交互事件。 通常在Activity中使用findViewById()方法,就是在控件树中以树的深度优先遍历来查找对应元素。 下面来看一下Android界面的架构图,如下图所示。 ? 每个Activity都包含一个Window对象,在Android中Window对象通常由PhoneWindow来实现。 不过这里要注意的是,由于每个Android版本对UI的修改都比较多,上图只是比较粗略地显示了视图树的结构。

    76010

    扫码关注腾讯云开发者

    领取腾讯云代金券