如何去掉android 控件默认选中时的背景橘黄色

如何去掉android 控件默认选中时的背景橘黄色,第1张

在listview有一个属性【android:listSelector="#00000000"】把listselector的颜色设为透明色,意思是点击时默认的橘黄色改为透明色,下面是listview常用的属性,一般做listview时为了美观都会用到,你可以对应API看一下:

android:fadingEdge="none"

淡入边界,就是在list到头的时候有没有白色的淡入淡出效果,有三个选择android:scrollbarFadeDuration="0"

滚动条淡入淡出持续时间,设为0 是马上出现或消失

android:fadeScrollbars="true"

是否淡入淡出滚动轴

android:scrollingCache="true"

滚动缓存

android:cacheColorHint="#00000000"

缓存的颜色,有时候滚动list的时候背景会变黑,把这个属性设为透明色就好了

android:focusable="false"

是否获得焦点修改listView中列表项在选中,聚焦,单击情况下的背景颜色变化:andorid:drawSelectorOnTop="false"则当该选项选中时,文字不会被背景颜色所覆盖,true,则会显示背景图片,不显示文字1.第一步:创建courselist_bg.xml文件<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas、android、com/apk/res/android">

<item android:drawable="@drawable/bg_1_pressed"

android:state_pressed="true"/>

<item android:drawable="@drawable/bg_1"

android:state_focused="false"

android:state_pressed="false"/>

<item android:drawable="@drawable/bg_1"

android:state_focused="true"/>

<item android:drawable="@drawable/bg_1"

android:state_focused="false"/>

</selector>

2.第二步:在listview中进行引用<ListView

android:id="@+id/lv"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:drawSelectorOnTop="false"

android:listSelector="@drawable/courselist_bg"/>

在做项目的时候,很多组件都是动态显示和隐藏的,如果直接将其设置为显示或者隐藏又不太人性化,给视图加上渐隐和渐现效果是一个不错的做法,这样在用户 *** 作时会感觉很舒服,实现动画效果既可以通过在代码中加载预先定义的xml文件,又可以在代码里面动态实现,我更倾向于通过代码实现,因为xml里面的参数设置是固定的,不够灵活。

代码其实很简单,通过AlphaAnimation实现,关于它的介绍,网上一搜一大片,就不多介绍啦,直接看代码吧。

private AlphaAnimation mHideAnimation= null

private AlphaAnimation mShowAnimation= null

/**

* View渐隐动画效果

*

*/

private void setHideAnimation( View view, int duration ){

if( null == view || duration <0 ){

return

}

if( null != mHideAnimation ){

mHideAnimation.cancel( )

}

mHideAnimation = new AlphaAnimation(1.0f, 0.0f)

mHideAnimation.setDuration( duration )

mHideAnimation.setFillAfter( true )

view.startAnimation( mHideAnimation )

}

/**

* View渐现动画效果

*

*/

private void setShowAnimation( View view, int duration ){

if( null == view || duration <0 ){

return

}

if( null != mShowAnimation ){

mShowAnimation.cancel( )

}

mShowAnimation = new AlphaAnimation(0.0f, 1.0f)

mShowAnimation软件外包公司http://www.yingtaow.com?setDuration( duration )

mShowAnimation.setFillAfter( true )

view.startAnimation( mShowAnimation )

}

通过改变ListViewItem及其ListViewSubItem的前景色,改变整行的颜色。实现方法如下

(1)在Visual Studio中新建一个“Windows 窗体应用程序”项目

(2)在Form1窗体设计器上添加一个ListView控件

(3)窗体代码Form1.cs

using System

using System.Collections.Generic

using System.Windows.Forms

using System.Drawing

namespace WindowsFormsApplication1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent()

            

            // 详细列表视图

            listView1.View = View.Details 

            // 表头

            listView1.Columns.Add(new ColumnHeader() { Text = "类别" })

            listView1.Columns.Add(new ColumnHeader() { Text = "品名1" })

            listView1.Columns.Add(new ColumnHeader() { Text = "品名2" })

            

            // 添加一行

            ListViewItem item = listView1.Items.Add("水果")

            item.SubItems.Add("草莓")

            item.SubItems.Add("香蕉")

            // 改变前景色:墨绿色

            ChangeForeColor(item, Color.DarkGreen)

            // 添加一行    

            item = listView1.Items.Add("饮料")

            item.SubItems.Add("果汁")

            item.SubItems.Add("可乐")

            // 改变前景色:红色

            ChangeForeColor(item, Color.Red)

            

            // 添加一行

            item = listView1.Items.Add("文具")

            item.SubItems.Add("铅笔")

            item.SubItems.Add("橡皮")

            // 改变前景色:蓝色

            ChangeForeColor(item, Color.Blue)

        }

        void ChangeForeColor(ListViewItem item, Color newColor)

        {

            item.ForeColor = newColor

            // 改变子项的颜色

            foreach (ListViewItem.ListViewSubItem si in item.SubItems)

            {

                si.ForeColor = newColor

            }

        }

    }

}

(4)运行效果


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11904614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存