android – Button的文本周围填充太多

android – Button的文本周围填充太多,第1张

概述我有一个占据整个屏幕的片段,带有按钮和缩放以适合它的SeekBar,以及固定大小的TextView.我使用线性水平和垂直布局与权重来实现这一目标. 问题是我无法使按钮文本足够大而不会使按钮扩大.出于某种原因,任何大于约35sp的文本大小都会使按钮展开,无论按钮有多大.此屏幕截图显示按钮大小有足够的空间用于文本: 理想情况下,我想要“<”和“>”填充按钮的字符. (我打算以编程方式根据按钮大小更改字 我有一个占据整个屏幕的片段,带有按钮和缩放以适合它的Seekbar,以及固定大小的TextVIEw.我使用线性水平和垂直布局与权重来实现这一目标.

问题是我无法使按钮文本足够大而不会使按钮扩大.出于某种原因,任何大于约35sp的文本大小都会使按钮展开,无论按钮有多大.此屏幕截图显示按钮大小有足够的空间用于文本:

理想情况下,我想要“<”和“>”填充按钮的字符. (我打算以编程方式根据按钮大小@R_848_6502@大小,例如针对不同的屏幕尺寸)但是没有尝试过,因为我甚至无法使静态布局工作.

编辑:我想避免图像,因为如果我有15个按钮和8个桶,那将是我需要的120个图像!

<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:tools="http://schemas.androID.com/tools"    androID:ID="@+ID/VerticallinearLayout"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical"    androID:paddingBottom="0dp"    androID:paddingleft="0dp"    androID:paddingRight="0dp"    androID:paddingtop="0dp" >    <!-- ........ -->    <TextVIEw        androID:ID="@+ID/trackTextVIEw"        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:textAppearance="?androID:attr/textAppearanceLarge" />    <linearLayout        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:layout_weight="2" >        <button            androID:ID="@+ID/trackPrevIoUsbutton"                        androID:layout_wIDth="0dp"            androID:layout_height="match_parent"            androID:layout_weight="1"            androID:text="@string/button_track_prevIoUs"            androID:textSize="35sp" />        <button            androID:ID="@+ID/trackNextbutton"                        androID:layout_wIDth="0dp"            androID:layout_height="match_parent"            androID:layout_weight="1"            androID:text="@string/button_track_next"            androID:textSize="35sp" />    </linearLayout>    <Seekbar        androID:ID="@+ID/seekbar"                androID:layout_wIDth="match_parent"        androID:layout_height="0dp"        androID:layout_weight="1" />    <!-- ........ --></linearLayout>

我尝试将以下行添加到按钮中,但它只会产生一些小的差别,如果有的话:

androID:padding="0dp"

关于获取字体高度以填充按钮而不填充的建议是我的主要问题. (但是如果动态调整文本大小以填充不同屏幕尺寸的按钮的问题可以同时解决,那将是非常棒的).

编辑:事实证明,使用较大的字体大小会影响线性布局高度的加权效果,这就是为什么似乎有填充 – 更大的字体大小增加了按钮大小,而不是因为填充(为0)但由于权重

解决方法 按钮不适合您的小部件.请改用Imagebutton(甚至是ImageVIEw).

I was going to programmatically change the Font size according to the button size,e.g. for different screen sizes

您当前的方法会让您遇到很多关于正确调整UI组件大小的问题.鉴于那里有大量的AndroID设备,屏幕尺寸只是问题的一个方面.您还将处理不同的屏幕密度.最好的方法是使用大小/密度桶(drawable-mdpi / hdpi / xhdpi).帮助androID为你工作.

使用drawables表示下一个和上一个.如果您担心平板电脑屏幕的绘图太小,请创建适当的可绘制资源/文件夹:

// Phones - 4 to 7 indrawable-ldpidrawable-mdpidrawable-hdpidrawable-xhdpidrawable-xxhdpi// tablets - 7 to 10 indrawable-large-mdpidrawable-large-hdpi// tablets - 10 indrawable-xlarge-mdpi

此列表可能并非详尽无遗.在最终确定尺寸/密度桶之前,请考虑进行一些研究.

输出:

@ drawable size 32dp:

@ drawable size 64dp

现在它变得非常简单 – 通过手机,7英寸平板电脑和10英寸平板电脑上的目视检查确定可绘制尺寸.然后使用密度标度在我上面提到的文件夹中创建和存储适当大小的drawable.让androID处理从中挑选的桶.

总结

以上是内存溢出为你收集整理的android – Button的文本周围填充太多全部内容,希望文章能够帮你解决android – Button的文本周围填充太多所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/web/1122263.html

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

发表评论

登录后才能评论

评论列表(0条)

保存