Android开发中padding使用一个小技巧

在安卓应用开发中,有时要用到状态按钮(可点击时与不可点击时的背景不相同),而且产品要求的按钮大小是固定的。在不同的手机上按钮的文字显示可能有些异常(主要是在给按钮做背景时很容易出现),此时我们怎么处理呢?我们可以用到padding这个属性。

看看小例子:

--------------------------就一个按钮,但是background是用xml文件写的状态selector--------------------------------

<Button

android:id="@+id/publish_starlist_achieve_btn"

android:layout_width="300dp"

android:layout_height="44dp"

android:layout_centerInParent="true"

android:layout_gravity="bottom"

android:layout_margin="10dp"

android:background="@drawable/common_btn_selector"

android:text="发布"

android:textColor="#FFFFFF"

android:textSize="16sp" />

------------------------------common_btn_selector,android:state_enabled不同,对应drawable不同--------------------------------

<?xml version="1.0" encoding="utf-8"?>

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

<item android:drawable="@drawable/common_btn_normal" android:state_enabled="false"/>

<item android:drawable="@drawable/common_btn_press" android:state_pressed="true"/>

<item android:drawable="@drawable/common_btn_normal"/>

</selector>

就这样的话,在小米3,小米4等主流手机上显示没有任务问题,但是在酷派8297D等机型上“发布”2字却显示不全,后来布局文件的Button布局中加了一句android:padding="0dp",问题就解决了。

时间: 2024-10-17 06:46:28

Android开发中padding使用一个小技巧的相关文章

Android开发中常用的一些小技巧(转载)

http://www.jb51.net/article/61135.htm Activity.startActivities() 常用于在应用程序中间启动其他的Activity. TextUtils.isEmpty() 简单的工具类,用于检测是否为空 Html.fromHtml() 用于生成一个Html,参数可以是一个字符串.个人认为它不是很快,所以我不怎么经常去用.(我说不经常用它是为了重点突出这句话:请多手动构建 Spannable 来替换 Html.fromHtml),但是它对渲染从 we

Android开发的那些坑和小技巧

1.android:clipToPadding 意思是控件的绘制区域是否在padding里面.默认为true.如果你设置了此属性值为false,就能实现一个在布局上事半功陪的效果.先看一个效果图. 上图中的ListView顶部默认有一个间距,向上滑动后,间距消失,如下图所示. 如果使用margin或padding,都不能实现这个效果.加一个headerView又显得大材小用,而且过于麻烦.此处的clipToPadding配合paddingTop效果就刚刚好. 2.match_parent和wra

iOS开发中的总结的小技巧,分享给大家!!(待续未完)

这是我在写项目或者学习知识点或者请教人家的时候总结的小技巧 原来是写在笔记本上面的,还是分享给大家了.可能会很乱,觉得对自己有用的就拿走吧,有错漏的地方也求大家指点修正.废话不多说直接来. 1. 监听控件的三种方法 1) addTarget 2)代理 3)通知 2. UITextfiled(文本框)中有一个属性:clearButtonMode 选择 UITextFieldViewModeAlways 就可以在输入多个字符后,右边有个x号点一下全部清除,用户体验会好一点. UITextField

iOS 开发中使用到的小技巧汇总

国庆即将来到,一个小项目也即将完成,把自己在项目中用的一些小技巧写出来,方便查找. 1,去掉分割线--动画设置透明度alpha //去掉tableView的分隔线: self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone; self.tableView.showsVerticalScrollIndicator=NO; 2. 解决cell分割线左边短20px的问题 -(void)viewDidLayoutSubviews{ i

VB.NET开发中遇到的一个小问题

在修改公司用vb.net的写的代码时,遇到一个小问题 页面上有一个button, ID是btnNext, 在属性页中,它的click事件对应的是cmdNext, 我像在c#中一样,在属性页中双击cmdNext,自动进入.vb后台代码,产生事件 Protected Sub cmdNext(sender As Object, e As System.EventArgs) Handles btnNext.Click //一些处理代码 End Sub 运行debug调试时,发现这个代码会执行两次,怎么都

Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开

最近学习Java web,在学习过程中想实现一个需求,就是在jsp页面跳转的时候,希望跳转后的新页面在新窗口中打开, 而不是覆盖原来的页面,这个需求使我困惑了好长时间,后来通过大海捞针似的在网上寻找方法,最后终于得以解决, 现将此方法跟大家分享,如果有不足的地方,请多包涵,我的初衷是能帮助到有这方面需要的人. 之前我在网上也曾搜到过相对靠谱的方法,就是在jsp页面相应位置加入代码:target="_black",如 <a href="articleView?id=${a

android开发——Android开发中的47个小知识

1.判断sd卡是否存在  boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); 2.TextView部分文字设置颜色 TextView tv = new TextView(this); //添加css样式 tv.setText(Html.fromHtml("<font color="#ff0000">红色&l

Xcode开发中的6个小技巧

Xcode是iPhone和iPad开发者用来编码或者开发iOS app的IDE.Xcode有很多小巧但很有用的功能,很多时候我们可能没有注意到它们,也或者我们没有在合适的水平使用这些功能简化我们的iOS开发.比如注释标签.代码片段以及其它很多… 以下是我们发现的非常有用的Xcode功能: FIXME 该标签用来提醒你代码中存在稍后某个时间需要修改的部分.(编辑注:网络上有一些可以用来收集项目中`TODO`和`FIXME`标签的辅助插件,比如XToDohttps://github.com/traw

Android开发中碰到的一个ANR问题。

这是一个点击之后反应超时的ANR [2018/1/12 10:25:21] 01-12 10:24:57.343 337 1279 D ActivityManager: Delay resumeKeyDispatchingLocked() to avoid deadlock. [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: ANR in com.android.settings (com.android.settings