QToolButton按下时下沉效果怎么实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QToolButton按下时下沉效果怎么实现相关的知识,希望对你有一定的参考价值。
参考技术A 当鼠标移动到链接上时,链接文本(或图片)会出现下沉的效果,好像链接的小手图标将它按下去一样。这个小效果被很多网页制作者使用,的确很实用,并能为页面增添不少生气。最早看到这个效果的时候感到很神奇,想不到是什么这个下沉效果是利用什么原理和代码制作的,经过对别人网页源代码的“借鉴”,我终于恍然大悟——原来它是使用了“相对定位+hover伪类”让其产生位移这个简单的方法制作的!
它的效果简单,原理简单,代码更简单,如果需要将网站或某个页面的链接全部制成下沉效果,只需要在CSS加上一句即可:
a:hover
position:relative;
top:1px;
left:1px;
只要将这段CSS加入到应用的CSS文件中,链接就可以在鼠标悬浮时出现下沉效果了,现在你就可以试试了。本回答被提问者和网友采纳
按下时更改按钮上文本的位置
【中文标题】按下时更改按钮上文本的位置【英文标题】:Change position of Text on Button when pressed 【发布时间】:2016-02-27 08:05:47 【问题描述】:我有带有文本和自定义背景的按钮。当我按下按钮时,背景会略微向下移动(“按下效果”)。但是文本保持在同一位置。
当按下按钮时,我应该怎么做才能移动文本?
我尝试过文本选择器、选择器填充,但对我不起作用。
按钮:
<Button
android:background="@drawable/button_blue"
android:layout_
android:textSize="30sp"
android:textColor="@drawable/selector_txt"
android:text="Push me"/>
选择器:
<selector>
<item android:drawable="@drawable/button_blue_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/button_blue_unpressed" />
</selector>
按钮状态:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:right="3dp"
android:top="3dp">
<shape>
<solid android:color="#aac2bfbf" />
</shape>
</item>
<item android:right="2dp"
android:top="2dp">
<shape >
<gradient
android:endColor="@color/darkFab"
android:startColor="@color/actionBackColor" />
</shape>
</item>
</layer-list>
<layer-list>
<item
android:right="3dp"
android:top="3dp">
<shape>
<solid android:color="#aac2bfbf" />
</shape>
</item>
<item
android:bottom="2dp"
android:left="2dp">
<shape>
<gradient
android:endColor="@color/darkFab"
android:startColor="@color/actionBackColor" />
<stroke
android:
android:color="@color/disabled" />
</shape>
</item>
</layer-list>
文本选择器:
<selector>
<item android:color="@color/colorPrimary" android:state_pressed="true" />
<item android:color="@color/colorAccent" />
</selector>
【问题讨论】:
你能分享你的xml文件吗 您找到解决方案了吗?我有同样的问题.. 或多或少,看看那里:ru.***.com/questions/497519/…。但是之后的布局出现了问题。 【参考方案1】:您可以在按下按钮时以编程方式更改按钮的填充。
在您的 XML 文件中为按钮分配一个 ID:
android:id="@+id/button_id
然后,无论您在哪里处理按钮按下:
Button myButton = (Button) findViewById(R.id.button_id);
myButton.paddingTop(0, X, 0, 0); // X will be in pixles, I believe
方法定义为:
public void setPadding (int left, int top, int right, int bottom)
在 Android SDK 的 View 类中。
【讨论】:
是的,我也试过了。问题:单击后应用填充。 TouchEvent 不合适。我认为,有一种更简单的方法。谢谢回答。以上是关于QToolButton按下时下沉效果怎么实现的主要内容,如果未能解决你的问题,请参考以下文章