- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 android 应用程序中,我有一个列表和一个列表标题。对于列表标题,我使用了这种布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight"
android:weightSum="1">
<TextView android:text="#" android:layout_height="wrap_content"
android:layout_width="0dp" android:background="@drawable/back"
android:layout_weight=".05" android:gravity="center_horizontal"
android:id="@+id/header_num"/>:
<TextView android:text="Summary" android:layout_height="wrap_content"
android:layout_width="0dp" android:background="@drawable/back"
android:layout_weight=".55" android:gravity="center_horizontal"
android:id="@+id/header_summ" />
</LinearLayout>
对于 android:background="@drawable/back":
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#ffffff" />
<stroke android:width="1dip" android:color="#4fa5d5" />
</shape>
现在在标题项的基础上,我对列表项应用排序:
ticketnum = (TextView) findViewById(R.id.header_num);
ticketnum.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Comparator<Ticket> mc;
mc = new TicketIdComparator();
Collections.sort(tickets, mc);
System.out.println(tickets);
ticket_adapter = new TicketAdapter(getApplicationContext(),
R.layout.ticket_details_row, tickets);
setListAdapter(ticket_adapter);
ticket_adapter.notifyDataSetChanged();
}
});
现在我想要这个标题上的两个图像,一个向上和一个向下的箭头来显示排序是升序还是降序。
请建议我如何添加这两张图片。
谢谢。
最佳答案
你可以在textView中的文本左边设置一个向上或向下的箭头(让它看起来像一个图标......我想这就是你想要的?)
首先在您的可绘制文件夹中放置一个 png 并将其命名为 upArrow.png 并添加一个名为 downArrow.png
然后将箭头设置为显示在 textView 文本的左侧:
myTextView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.upArrow, 0, 0, 0);
参见 setCompoundDrawablesWithIntrinsicBounds(int left, int top, int right, int bottom) 使用其他参数将箭头设置在文本上方、右侧或下方。
现在,如果您想更改背景图像(例如切换出 R.drawable.back),那么您也可以先将 upArrow.png 和 downArrow.png 保存在 drawbles 文件夹中,然后您可以调用
myTextView.setBackgroundDrawable(R.drawable.upArrow);
参见 setBackgroundDrawble(Drawable d)
另外,请注意(自 2.1 起)您可以将 onclick 监听器的方法调用放在 XML 中。这可以使代码更干净。如果您要向 headerNum 添加一个 onclick 监听器:
<TextView android:text="#" android:layout_height="wrap_content"
android:layout_width="0dp" android:background="@drawable/back"
android:layout_weight=".05" android:gravity="center_horizontal"
android:id="@+id/header_num"
android:onClick="myOnclickListener"/>
然后在您的 Activity 类中简单地添加方法:
public void myOnclickListener(View v) {
...
}
您还可以通过编程方式添加一个 imageView,尽管这会更加复杂。或者您可以在每个标题旁边添加向上和向下箭头的 ImageView ,并以编程方式使用以下方式打开和关闭适当的可见性:
myImageView.setVisibility(View.VISIBLE);
和
myImageView.setVisibility(View.GONE);
虽然我认为使用 bg 图像或左侧可绘制对象是最简单的,并且可以使您的 xml 最小化。如果您实际添加 imageView,您可能希望切换到 RelativeLayout。
关于android - 如何在某些事件的 TextView 上添加图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8222430/
我正在尝试将 WPF CodeBehid 事件(如 Event、Handler、EventSetter)转换为 MVVM 模式。我不允许使用 System.Windows.Controls,因为我使用
我可能误解了 Backbone 中的事件系统,但是当我尝试以下代码时什么也没有发生。当我向 Backbone.Events 扩展对象添加新属性时,它不应该触发某种更改、更新或重置事件吗?就像模型一样吗
我遇到了一个简单的问题,就是无法弄清楚为什么它不起作用。我有一个子组件“app-buttons”,其中我有一个输入字段,我想听,所以我可以根据输入值过滤列表。 如果我将输入放在我有列表的根组件中,一切
System.Timers.Timer 的 Elapsed 事件实际上与 System.Windows.Forms.Timer 的 Tick 事件相同吗? 在特定情况下使用其中一种比使用另一种有优势吗
嗨,这个 javascript 代码段是什么意思。(evt) 部分是如此令人困惑.. evt 不是 bool 值。这个怎么运作? function checkIt(evt) { evt
我正在使用jquery full calendar我试图在事件被删除时保存它。 $('calendar').fullCalendar ({
我有两个链接的鼠标事件: $('body > form').on("mousedown", function(e){ //Do stuff }).on("mouseup", function(
这是我的代码: $( '#Example' ).on( "keypress", function( keyEvent ) { if ( keyEvent.which != 44 ) {
我尝试了 dragOver 事件处理程序,但它没有正常工作。 我正在研究钢琴,我希望能够弹奏音符,即使那个键上没有发生鼠标按下。 是否有事件处理程序? 下面是我正在制作的钢琴的图片。 最佳答案 您应该
当悬停在相邻文本上时,我需要使隐藏按钮可见。这是通过 onMouseEnter 和 onMouseLeave 事件完成的。但是当点击另外的文本时,我需要使按钮完全可见并停止 onMouseLeave
我有ul标签内 div标签。我申请了mouseup事件 div标记和 click事件 ul标签。 问题 每当我点击 ul标签,然后都是 mouseup和 click事件被触发。 我想要的是当我点击 u
我是 Javascript 和 jQuery 的新手,所以我有一个非常愚蠢的疑问,请耐心等待 $(document).click(function () { alert("!"); v
我有一个邮政编码解析器,我正在使用 keyup 事件处理程序来跟踪输入长度何时达到 5,然后查询服务器以解析邮政编码。但是我想防止脚本被不必要地调用,所以我想知道是否有一种方法可以跟踪 keydown
使用事件 API,我有以下代码来发布带有事件照片的事件 $facebook = new Facebook(array( "appId" => "XXX", "se
首次加载 Microsoft Word 时,既不会触发 NewDocument 事件也不会触发 DocumentOpen 事件。当 Word 实例已打开并打开新文档或现有文档时,这些事件会正常触发。
我发现了很多相关问题(这里和其他地方),但还没有具体找到这个问题。 我正在尝试监听箭头键 (37-40) 的按键事件,但是当以特定顺序使用箭头键时,后续箭头不会生成“按键”事件。 例子: http:/
给定的 HTML: 和 JavaScript 的: var $test = $('#test'); $test.on('keydown', function(event) { if (eve
我是 Node.js 的新手,希望使用流运行程序。对于其他程序,我必须同时启动一个服务器(mongodb、redis 等),但我不知道我是否应该用这个运行一个服务器。请让我知道我哪里出了问题以及如何纠
我正在尝试使用 Swift 和 Cocoa 创建一个适用于 OS X 的应用程序。我希望应用程序能够响应关键事件,而不将焦点放在文本字段上/文本字段中。我在 Xcode 中创建了一个带有 Storyb
我有以下代码: (function(w,d,s,l,i){ w[l]=w[l]||[];w[l].push({
我是一名优秀的程序员,十分优秀!