- 浏览: 534620 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
TextView点击效果
演示的是一个用TextView来定义的一个Button,实现类似TabWidget风格的选项卡。
自定义按钮,这里没有通过Button类或者子类去做派生,而是通过TextView派生出来的。
在这里三个按钮是三个TextView派生类实例,中间的白线,是1px宽的白色矩形,这样就可以做出类似上面的效果。
效果图:
[img]
[/img]
工程结构图:
[img]
[/img]
/res/drawable/background_color.xml 用shape标签自定义一个渐变背景
res/drawable/button_selector.xml
res/layout/main.xml,这个是主布局,由自定义的Button和1px的白色矩形组成
继承自TextView的自定义Button:
主程序:
演示的是一个用TextView来定义的一个Button,实现类似TabWidget风格的选项卡。
自定义按钮,这里没有通过Button类或者子类去做派生,而是通过TextView派生出来的。
在这里三个按钮是三个TextView派生类实例,中间的白线,是1px宽的白色矩形,这样就可以做出类似上面的效果。
效果图:
[img]
[/img]
工程结构图:
[img]
[/img]
/res/drawable/background_color.xml 用shape标签自定义一个渐变背景
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <gradient android:startColor="#FFFFFFFF" android:endColor="#FFFFFFFF" android:angle="270.0" android:centerY="0.3" android:centerColor="#FFBDBDBD" /> </shape>
res/drawable/button_selector.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize="true"> <!-- 获得焦点时的背景图片 --> <item android:state_focused="true"> <shape> <gradient android:startColor="#FFE5CF33" android:endColor="#FFF1E7A2" android:angle="90.0" /> </shape> </item> <!-- 设置相应所有事件 --> <item android:state_enabled="true" android:state_pressed="false"> <shape> <gradient android:startColor="#FF1B1B1B" android:endColor="#FF969696" android:angle="90.0" /> </shape> </item> <!-- 按钮点击时的背景 --> <item android:state_enabled="true" android:state_pressed="true"> <shape> <gradient android:startColor="#FF000000" android:endColor="#FF474747" android:angle="90.0" /> </shape> </item> <item android:state_enabled="false" android:state_pressed="true"> <shape> <gradient android:startColor="#FF000000" android:endColor="#FF474747" android:angle="90.0" /> </shape> </item> <!-- 默认情况下的背景 --> <item> <shape> <gradient android:startColor="#FF000000" android:endColor="#FF474747" android:angle="90.0" /> </shape> </item> </selector>
res/layout/main.xml,这个是主布局,由自定义的Button和1px的白色矩形组成
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background_color" android:orientation="vertical"> <LinearLayout android:layout_width="fill_parent" android:layout_height="10dip" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dip"> <com.amaker.testbutton.TextButton android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="饮食" android:gravity="center" android:background="@drawable/button_selector" android:focusable="true" android:clickable="true" /> <View android:layout_width="2px" android:layout_height="fill_parent" android:background="#FFFFFFFF" /> <com.amaker.testbutton.TextButton android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="旅行" android:gravity="center" android:background="@drawable/button_selector" android:focusable="true" android:clickable="true" /> <View android:layout_width="2px" android:layout_height="fill_parent" android:background="#FFFFFFFF" /> <com.amaker.testbutton.TextButton android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="体育" android:gravity="center" android:background="@drawable/button_selector" android:focusable="true" android:clickable="true" /> </LinearLayout> </LinearLayout>
继承自TextView的自定义Button:
package com.amaker.testbutton; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class TextButton extends TextView { public TextButton(Context context) { super(context); } public TextButton(Context context, AttributeSet attrs, int defStyle) { super(context,attrs,defStyle); } public TextButton(final Context context, AttributeSet attrs) { this(context,attrs,0); this.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction()==MotionEvent.ACTION_CANCEL ||event.getAction()==MotionEvent.ACTION_UP ||event.getAction()==MotionEvent.ACTION_OUTSIDE) { Toast.makeText(context, "hello", Toast.LENGTH_SHORT).show(); } return false; } }); } }
主程序:
package com.amaker.testbutton; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
发表评论
-
Android中如何模拟一次点击(touch)事件
2014-05-06 10:41 0在Android中有时需要模拟某一个View的touch事件, ... -
Android程序Crash时的异常上报
2014-04-28 18:15 0http://blog.csdn.net/singwhatiw ... -
android程序中证书签名校验的方法
2014-04-28 17:58 2008android程序中证书签名校验的方法一 2013-02 ... -
MD5理解错了,哎
2014-03-17 14:14 0MD5只对数据加密是无法解密的,也就是说,你把100加密后,就 ... -
Android 获取网络时间
2014-03-12 11:42 2046Android 获取网络时间 在网上看到的最常见的方式有: ... -
SQLite清空表并将自增列归零
2014-03-05 18:02 1553SQLite清空表并将自增列归零 作者:Zhu Yanfeng ... -
Handler小看一下
2013-11-11 16:42 0android handler调用post方法还是阻塞 su ... -
Frame Animation小看一下
2013-10-12 16:30 794Demo运行效果图: 源码: -
动画小学一下
2013-10-12 16:14 739转自: http://www.eoeandroid.com/f ... -
Android 动画之ScaleAnimation应用详解
2013-10-12 15:49 1016===============eoeAndroid社区推荐:= ... -
android开发中的一个工具类
2013-06-19 16:04 0package com.wanpu.login.dialog; ... -
android TextView怎么设置个别字体颜色并换行?
2013-06-20 09:25 1695(1)、TextView 设置个别字体颜色 TextView ... -
Android开发之文件下载,状态时显示下载进度,点击自动安装
2013-05-07 15:38 1433在进行软件升级时,需要进行文件下载,在这里实现自定义的文件下载 ... -
android中的状态保存
2013-04-07 14:21 982package com.zzl.call; import ... -
android动画基础:tween动画
2013-04-06 11:21 1254工程结构图: [img] [/img] 四个动画的xml ... -
面试中遇到的几个问题
2013-06-09 11:56 1006SAX与DOM之间的区别 SAX ( ... -
Android获取其他包的Context实例,然后调用它的方法,反射!!!
2013-03-25 10:32 1227Android中有Context的概念,想必大家都知道。Con ... -
Android的内存机制和常见泄漏情形
2013-03-06 16:55 798一、 Android的内存机制 Android的程序由Ja ... -
JUnit测试小小demo
2013-03-06 16:37 1170运行效果图: [img] [/img] 项目结构图 ... -
android开发中的异常小工具
2013-03-04 15:53 902package com.zzl.tools; impor ...
相关推荐
本篇文章将深入探讨如何在Android中为TextView和Button添加各种有趣的效果,提升用户界面的吸引力和交互体验。 首先,TextView是显示单行或多行文本的控件。我们可以通过设置不同的属性来实现各种特效。例如: 1. ...
标题"android TextView 伸缩效果"所指的就是这种通过点击“更多”按钮来实现TextView文本展开和收缩的功能。 要实现这样的效果,首先需要对TextView的基本属性有所了解。TextView的`maxLines`属性可以限制显示的...
例如,你可以设置一个按钮点击事件,在点击时更改`TextView`的内容: ```java TextView textView = findViewById(R.id.textView); Button button = findViewById(R.id.button); button.setOnClickListener...
此外,还可以使用SpannableString和ClickableSpan来自定义“更多”链接,使其具有点击效果。这样,用户可以直接点击文本中的“更多”来触发展开或收起。 ```java String textWithMore = "这里是一段很长的文本... ...
然而,有时我们希望在用户点击时,TextView的内容能以动画效果展开或收缩,为用户提供更好的交互体验。本教程将详细介绍如何实现一个没有使用Animation类的TextView展开动画效果。 首先,我们需要创建一个新的...
在Android开发中,实现验证码Button中的TextView倒计时效果是一个常见的需求,这通常涉及到界面交互和定时任务的处理。下面将详细介绍如何实现这一功能。 首先,我们创建一个自定义的Button,将TextVIew和Button的...
在源码中,TextView会根据这些标记来处理文本,提供丰富的显示效果。 此外,TextView还支持输入法交互,如自动完成、拼写检查和文本选择。源码中的InputConnection接口和Editor类提供了与软键盘交互的机制。理解这...
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder("点击我,看效果!"); // 创建一个ClickableSpan对象并覆盖其onClick方法 class ClickableTextSpan extends ClickableSpan { @...
本资源“一个可以用代号处理控件的阴影效果,以及用代号在TextView、EditText、Button等控件设置selector.zip”主要涵盖了两个方面的内容:一是如何通过代码实现控件的阴影效果,二是如何为常见的UI组件如TextView、...
在处理长文本时,我们经常需要实现类似于微信消息展示的效果,即超过一定行数的文本会显示为“全文”,点击后展开全部内容,再次点击则收起。这个功能在用户界面设计中被称为“折叠/展开”效果,它有助于保持界面...
然后添加一个`Button`或使用`TextView`作为可点击的“更多”链接。 ```xml <TextView android:id="@+id/textView_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android...
在Android应用开发中,"点击Button弹出下拉菜单"是一种常见的交互设计,它提高了用户操作的便捷性。实现这一功能通常涉及到多个技术点,包括Button控件的使用、自定义视图、事件监听以及PopupWindow类的应用。下面将...
- 添加动画效果:在TextView切换状态时,可以添加渐变高度的动画,提升用户体验。 - 提供展开/收起的文字提示:根据TextView的状态动态更新按钮的文本。 - 防抖动处理:如果文本内容快速切换,可能需要添加防抖动...
此外,我们还可以添加点击事件监听器,使得当用户触摸TextView时能触发相应的行为,就像真正的按键一样。使用android:onClick属性或设置OnClickListener可以实现这一功能。 在“底部”(bottom)部分,我们可以放置...
最后,为了测试这个效果,你可以创建一个Activity,并在点击按钮时启动或停止滚动: ```java public class MainActivity extends AppCompatActivity { private VerticalScrollTextView scrollingTextView; ...
在实际项目中,TextView往往与其他组件结合使用,例如与Button配合显示按钮文字,与ImageView组合形成图文并茂的显示效果等。理解并熟练掌握TextView的使用,对于提高Android应用的用户体验至关重要。
本篇文章将详细讲解三个关键的核心控件:Button、ListView和TextView,以及它们在实际开发中的应用。 Button是Android中最基本的按钮控件,用于响应用户的点击事件。它不仅可以显示文本,还可以设置背景图像,通过...
本篇文章将深入探讨如何基于`TextView`创建一个简单的自定义开关,并将其功能扩展到可作为`Button`使用。我们将关注以下几个核心知识点: 1. **自定义视图**: 自定义视图是通过继承Android提供的基础视图类(如`...
通过onClick事件来实现按钮的点击事件处理,控制跑马灯效果的开始和停止。 7. 跑马灯效果的优化:在这个例子中,通过isStop标志来控制跑马灯效果的停止和开始,避免了资源的浪费。并且,通过currentScrollX变量来...
本文将详细讲解如何通过点击Button来控制布局(Layout)的显示和消失,以及如何在布局上添加自定义控件,实现类似Dialog效果的功能。 首先,我们来看“android layout的显示消失”。在Android中,布局(Layout)是...