- 浏览: 564312 次
- 来自: -
博客专栏
-
libgdx 游戏开发
浏览量:12289
文章分类
- 全部博客 (171)
- OS (1)
- JavaScript (13)
- Struts (2)
- Regular Expression (1)
- Java (14)
- HTML (4)
- XML (1)
- Non-Relational Database (2)
- Miscellaneous (7)
- Lotus Notes (8)
- Algorithm (3)
- Web Analytics (6)
- Web (8)
- Perl (3)
- PHP (3)
- C & C++ (1)
- Shell (7)
- Google (1)
- Android (31)
- iPhone (1)
- SQL (1)
- HTML5 (3)
- jQuery (6)
- CSS (6)
- PostgreSQL (1)
- Design Patterns (1)
- Excel (1)
- Magento (4)
- jMeter (3)
- SEO (1)
- libgdx (5)
- Software (4)
- App (1)
- Game (1)
- Gradle (1)
- Linux (16)
- Ubuntu (4)
- Docker (2)
- Spring (2)
- Other (3)
- Directory Server (1)
- CentOS (1)
- Python (1)
- VCS (3)
- Database (1)
- Open Source (1)
最新评论
-
ls0609:
赞一个,支持下博主。
[原创] Android ListView 在右上角添加三角形图标和文字 -
love297:
不让别人商用,自己先商用起来了。
手机游戏开发展示 -
a851206:
你的有些类是哪里来的?我想研究一下你的程序,可是有些类没有代码 ...
[原创] Google Custom Search & Yahoo Boss Search | Web Search API 使用 -
ypppk:
BitmapFactory.Options options = ...
[原创] 连载 1 - 深入讨论 Android 关于高效显示图片的问题 - 如何高效的加载大位图 -
笑遍世界:
我也遇到了,弄清了其中原因,可参考我的博客:http://sm ...
[原创] 使用 jMeter 登录 Wordpress
最终显示效果如下图,在右上角添加三角形图标并在图标内显示文字:
注意:右上角的红色三角形和里面的文字不是图片。
原理是使用 Drawable 画出一个正方形,然后将其旋转 45 度,使其达到三角形的效果。
虽然可以直接使用 TextView 将其旋转 45 度,并添加背景 Drawable,但是这么做完之后我发现,如果想调整文字在三角形中的相对位置或者调整三角形的大小,却不是很容易。
因此我的方案是,使用 View 单独显示三角形背景,然后再使用 TextView 单独显示文字。这样做的好处就是可以随意的调整文字的相对位置以及三角形的大小。最终效果详见上图。
代码如下:在 drawable 文件夹下新建 triangle_shape.xml 文件,用以显示三角形图标。
在自己的 Layout 中,使用 triangle_shape.xml 作为背景,并添加三角形内需要显示的文字。
核心代码如下:
完整代码如下:
参考文献:
https://stackoverflow.com/a/32223301/6091500
注意:右上角的红色三角形和里面的文字不是图片。
原理是使用 Drawable 画出一个正方形,然后将其旋转 45 度,使其达到三角形的效果。
虽然可以直接使用 TextView 将其旋转 45 度,并添加背景 Drawable,但是这么做完之后我发现,如果想调整文字在三角形中的相对位置或者调整三角形的大小,却不是很容易。
因此我的方案是,使用 View 单独显示三角形背景,然后再使用 TextView 单独显示文字。这样做的好处就是可以随意的调整文字的相对位置以及三角形的大小。最终效果详见上图。
代码如下:在 drawable 文件夹下新建 triangle_shape.xml 文件,用以显示三角形图标。
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <rotate android:fromDegrees="-45" android:toDegrees="45" android:pivotX="0%" android:pivotY="-45%" > <shape android:shape="rectangle" > <!-- Border --> <stroke android:width="10dp" android:color="@color/red" /> <!-- Background --> <solid android:color="@color/red" /> </shape> </rotate> </item> </layer-list>
在自己的 Layout 中,使用 triangle_shape.xml 作为背景,并添加三角形内需要显示的文字。
核心代码如下:
<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/thumbnail" android:layout_width="150dp" android:layout_height="85dp" fresco:placeholderImage="@drawable/placehoderImg" /> <FrameLayout android:id="@+id/onAirLayout" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/thumbnail" android:layout_alignParentTop="true" android:layout_alignRight="@+id/thumbnail"> <!-- Attention Please --> <!--layout_width must be equal to layout_height and its value plus layout_marginBottom must be equal 85--> <!--PS: 85 is the height of placeholder image--> <View android:layout_width="115dp" android:layout_height="115dp" android:layout_gravity="top|right|end" android:layout_marginBottom="-30dp" android:background="@drawable/triangle_shape" android:rotation="0" /> <TextView android:id="@+id/txtOnAir" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|end" android:layout_marginTop="12dp" android:rotation="45" android:text="@string/cmn_on_air" android:textColor="@android:color/white" android:textSize="14sp" /> </FrameLayout> </RelativeLayout>
完整代码如下:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fresco="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/swipe" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/thumbnail" android:layout_width="150dp" android:layout_height="85dp" fresco:placeholderImage="@drawable/placehoderImg" /> <FrameLayout android:id="@+id/onAirLayout" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/thumbnail" android:layout_alignParentTop="true" android:layout_alignRight="@+id/thumbnail"> <!-- Attention Please --> <!--layout_width must be equal to layout_height and its value plus layout_marginBottom must be equal 85--> <!--PS: 85 is the height of placeholder image--> <View android:layout_width="115dp" android:layout_height="115dp" android:layout_gravity="top|right|end" android:layout_marginBottom="-30dp" android:background="@drawable/triangle_shape" android:rotation="0" /> <TextView android:id="@+id/txtOnAir" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|end" android:layout_marginTop="12dp" android:rotation="45" android:text="@string/cmn_on_air" android:textColor="@android:color/white" android:textSize="14sp" /> </FrameLayout> </RelativeLayout> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginLeft="8dp" android:layout_weight="1" android:gravity="center_vertical" android:orientation="vertical"> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="3dp" android:ellipsize="end" android:maxLines="1" android:text="Title" android:textAppearance="?attr/textAppearanceListItem" android:textColor="@android:color/black" android:textStyle="bold" /> <TextView android:id="@+id/subtitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="-3dp" android:drawableLeft="@drawable/ic_place" android:drawablePadding="3dp" android:ellipsize="end" android:gravity="fill_vertical" android:maxLines="1" android:text="Sub Title" android:textColor="@color/dim_gray" android:textSize="12sp" /> </LinearLayout> </LinearLayout> </FrameLayout>
参考文献:
https://stackoverflow.com/a/32223301/6091500
发表评论
-
[转] DialogFragment Fragment already added
2017-10-25 11:16 2796原文地址:http://blog.csdn.net/u0129 ... -
Android Studio .gitignore
2017-10-16 15:44 932参考文献: https://github.com/github ... -
[转] How to detect incoming calls in an Android
2017-10-13 14:14 1256原文地址:https://stackoverflow.com/ ... -
[转] Android 检测电源按钮是否被按下
2017-10-11 12:55 1084原文地址:https://stackoverflow.com/ ... -
[原创] Android Activity onNewIntent() 详解
2017-08-16 13:46 4827阅读难度:中 阅读前提: 1. 需要了解 Android 的生 ... -
[转] Android Webview: “Uncaught TypeError: Cannot read property 'getItem' of null
2017-08-14 15:09 2391原文地址:https://stackoverflow.com/ ... -
[原创] 使用 Vitamio 播放视频作为 Splash 时出现失真情况的解决方案
2017-08-02 09:10 1237目前在做关于视频及流媒体播放项目时,有这样一个需求,应用启动时 ... -
[转] Android: Expand/collapse animation
2017-07-31 14:57 1600原文地址:https://stackoverflow.com/ ... -
[转] Detect home button press in android
2017-07-20 17:49 1195原文地址:https://stackoverflow.com/ ... -
[原创] 开启 Android TextView Marquee
2017-07-18 15:47 1836亲测可能。直接上代码。 测试机器:XiaoMi 2S Andr ... -
[原创] 小米手机无法真机调试
2017-07-06 09:10 6518系统环境: 小米 2S MIUI 版本:8.0.1.0(LXA ... -
了解数据绑定 - Data Binding Library
2017-06-22 15:31 1004原文地址: -
How to play gif with Fresco
2017-06-22 14:00 694原文地址:https://stackoverflow.com/ ... -
设置 Toolbar(ActionBar) 上的按钮颜色
2017-06-22 08:11 2096原文地址: https://stackoverflow.com ... -
Display back button on action bar and back event
2017-06-22 08:00 774原文地址: https://stackoverflow.com ... -
Gradle 修改 Maven 仓库地址
2017-06-02 15:51 1707修改 Gradle Maven 仓库地址为阿里云镜像 修改根 ... -
[转] How to clear cookies and cache of webview on Android when not in webview?
2017-04-26 09:28 2219原文地址:http://stackoverflow.com/a ... -
[转] Android 在程序中如何动态的修改程序图标
2017-03-02 17:05 972http://stackoverflow.com/a/4150 ... -
[转] Android Libraries
2017-01-16 10:28 582原文地址: https://dzone.com/article ... -
[原创] Android 长按识别图中二维码 - Zxing
2017-01-10 09:27 6431前提: 本文使用了 ButterKnife 依赖库 开始环境 ...
相关推荐
4. **性能优化**:由于ListView项的复用机制,我们需要注意在`getView()`中正确地清除和设置每个项的视图状态,以防止上一个项的样式影响到当前项。例如,如果你在布局中添加了ImageView,记得在每次加载项时清除...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。然而,为了提供更好的用户体验,开发者经常需要扩展ListView的功能,例如实现左右滑动的效果。这个功能通常被用于实现快速删除或者展示更多的...
综上所述,添加头部到Android的ListView是一项常见的自定义需求。通过使用HeaderView参数或在Adapter内部处理,我们可以轻松地实现这一功能。同时,理解如何处理滚动事件和触摸事件将使我们的应用更具交互性。在实际...
总的来说,要实现"android listview刷新 左右滑动",你需要理解`SwipeRefreshLayout`和`SwipeMenuListView`的工作原理,掌握如何在ListView中添加并使用它们,以及如何处理相关的用户交互和数据加载。这个过程涉及到...
本教程将详细介绍如何在Android中实现一个带图标的ListView。 ### 1. ListView的基本概念 ListView是Android中的一个视图容器,它可以显示一列可滚动的项目列表。每个列表项(ListView项)通常由一个布局文件定义,...
公司有个项目要用到类似手机QQ聊天记录列表ListView左右滑动后改变item的效果,网上没找到好的代码,偶然在安卓巴士的开源站http://d.apkbus.com/里面找到了SwipeToDismiss的源码...改成自己的显示另一个view的效果就行...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。`下拉刷新`和`上拉加载`功能的实现,极大地提升了用户体验,让用户能够实时获取到最新的数据。本篇文章将深入探讨如何在ListView中实现这两种...
以上代码展示了如何在`ListView`控件的标题上添加图标,通过定义和使用`LVCOLUMN`结构体,以及正确发送`LVM_SETCOLUMN`消息,我们能够轻松地实现这一功能,为用户提供更加丰富和直观的界面体验。
然而,为了提供更好的用户体验,有时我们需要在ListView的每个Item上实现左右滑动删除的功能。这种交互方式常见于许多移动应用,如邮件客户端、社交应用等。本文将详细探讨如何在Android中实现这一功能。 首先,...
需求如题目:Android listview中item部分区域添加点击事件,在一个界面显示了listview,但显示的内容分为上下两部分,分别是白色的背景和蓝色的背景,现在需要只点击蓝色的背景,才能跳转到其他界面,解决方式如下:...
综上所述,这个Demo将教你如何在Android应用中创建一个包含图标和文字的ListView,通过自定义Adapter实现数据绑定,并且可能会涉及到一些性能优化和交互设计。通过学习这个Demo,开发者可以更好地掌握Android UI设计...
在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。当需求涉及列表中的每个条目本身也需要展示一个子列表时,我们就会遇到ListView的嵌套问题。本教程将详细讲解如何在Android Studio环境下...
动态添加和删除ListView中的Item是一项常见的功能,尤其在构建需要用户交互的应用时。本文将深入探讨如何实现这个需求,以及涉及到的关键知识点。 首先,我们需要理解ListView的工作原理。ListView通过Adapter与...
通过以上步骤,我们就可以在Android Studio中实现一个具有图片和文字的扩展ListView。这只是一个基础示例,实际应用中还可以根据需求添加更多功能,如头尾视图、侧滑删除、动画效果等。记得在开发过程中,遵循...
在Android应用开发中,PopupWindow是一个非常实用的组件,它能提供一种轻量级的对话框效果,可以在屏幕上的任意位置弹出,并且可以自定义其内容和样式。本示例将详细介绍如何实现一个位于右上角、类似QQ设置功能的...
http://blog.csdn.net/icqapp/article/details/24978057 详看效果图...android listview左右滑动分页(viewpager嵌套listview进行分页),焦点图带圆焦点 先敬告学者:如在此项目上运行不了的直接找到本人QQ:508181017,
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。`Android listView选项滑动效果`是指通过增强ListView的功能,使每个列表项可以左右滑动,通常用于实现更多的交互操作,比如滑动删除、切换...
以上就是关于“Android ListView添加Button及其事件”的详细知识,希望对你理解ListView的自定义和事件处理有所帮助。在实际开发中,你可以根据需求扩展这个例子,例如添加更多的交互元素,或者处理更复杂的业务逻辑...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。然而,为了提供更加丰富的用户体验,开发者经常需要在ListView的基础上实现更多的交互功能,比如左右滑动出现编辑菜单。这个"android ...
在Android开发中,ListView是一种非常常见的控件,用于展示...在实际应用中,可能还需要结合具体需求进行优化,例如添加间距、处理不同屏幕尺寸等,但基本思路就是利用自定义布局和适配器来控制ListView的显示方式。