当我包括下面XML
来布局文件,我可以看到下面的图片.如果你看到它,你会发现它TextView
有顶部和底部空间.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="E1"
android:background="#ff00ff00"/>
Run Code Online (Sandbox Code Playgroud)
我希望删除这个空间.如何删除它?这叫什么?如果有人有线索...请告诉我.提前致谢.
我确实遇到了问题TextView
.我不希望它上面有任何边距/填充.
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ptp_hour"
android:textColor="@color/black"
android:textSize="100dp"
android:height="100dp"
android:layout_marginTop="0dp"
android:paddingTop="0dp"
android:includeFontPadding="false"
android:maxLines="1"
android:text="10"/>
Run Code Online (Sandbox Code Playgroud)
我TextView
看起来像这样,尽管textSize
和height
设置为相同的值,字体上方有一个空格.这让我感到困扰,因为我想把另一个视图放在相对于字体的顶部.这个间距是否包含在字体本身中?
还有一个问题:如果我发现距离顶部20dp和底部7dp的余量在我的设备上完美运行,我可以依赖它在其他屏幕上的表现方式相似吗?(这些边距适用于按钮)
我正在尽力将文本垂直居中,但我无法做到.问题是我有一行按钮,其高度= fill_parent和weight = 1,随着行变小,我的文本开始触摸视图的底部,如下所示:
我尝试去除填充,边距,更改高度等.但似乎没有做到这一点.
即使文本大小接近视图高度,如何将其垂直对齐?
这是包含数字5的视图的代码:
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="5"
android:layout_weight="1"
tools:ignore="HardcodedText"
android:clickable="false"
android:textSize="90dp"
android:textColor="?attr/color1"
android:gravity="center"
android:paddingLeft="@dimen/normal_margin"
android:paddingRight="@dimen/normal_margin"
android:padding="0dp" />
Run Code Online (Sandbox Code Playgroud) 所以,这个问题是重复的,但我读过的答案对我不起作用。事实上,他们似乎也没有为其他人工作,所以我再试一次,看看是否有人知道答案。
如您所见,蓝色布局标记和实际文本之间肯定有很多空间。当将一个textView
放在另一个上面时,空间变得非常明显。请注意,这是在我添加了 XML 代码行之后:
android:includeFontPadding="false"
Run Code Online (Sandbox Code Playgroud)
(在很小的程度上起作用)和:
android:lineSpacingExtra="0dp"
Run Code Online (Sandbox Code Playgroud)
(据说根据其他线程解决了问题,但由于某种原因对我没有任何作用)。
我的完整 XMLtextView
是:
<TextView
android:id="@+id/healthTextId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:includeFontPadding="false"
android:lineSpacingExtra="0dp"
android:text="Test"
android:textAlignment="center"
android:textColor="@color/colorHealth"
android:textSize="100dp"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
Run Code Online (Sandbox Code Playgroud)
该问题在默认字体和自定义字体上仍然存在。有任何想法吗?
这是我读到的线程之一,不幸的是没有为我解决问题:Android:TextView:删除顶部和底部的间距和填充
看起来像TextView这样的一些视图有自己的填充或边距...我的意思是当我将textSize 16dp设置为textView时,在hdpi设备屏幕上需要超过24个像素才能显示此控件.也许我错过了什么,请帮忙
<LinearLayout
android:id="@+id/uc_button_title_panel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/closed_red" />
<TextView
android:id="@+id/uc_button_title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:includeFontPadding="false"
android:background="@null"
android:padding="0dp"
android:text="@string/demo_text"
android:textColor="#325083"
android:textSize="16dp"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/closed_red" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 填充问题?
更新问题样本: -
(为什么"Late"这个词之上有差距)
更新2 其他人在此处报告了类似问题: - http://code.google.com/p/android/issues/detail?id=22493
所以看起来textview一旦变大就不会缩小尺寸.有关于此的解决方法的任何想法?明确设置高度会导致文本被裁剪,因为它低于应有的值.
我的布局如下: -
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="1dp"
android:orientation="vertical"
android:background="@color/Green">
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/datetext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/DateCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40sp"
android:textStyle="bold"
android:background="@color/Red" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
并将其填充到此GridView中以形成日历: -
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="7"
android:verticalSpacing="2dp"
android:horizontalSpacing="2dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
Run Code Online (Sandbox Code Playgroud)
用于使用项目填充gridview的适配器会更改@ + id/DateCode的文本大小,以使文本适合可用空间的宽度.然后它会使textview无效并强制重新布局(我知道这有效,因为textview的底部确实出现在调整大小的文本的底部).
DateCode中文本的顶部似乎至少在TextView的一半处开始(这是一个明显的红色框.我不明白为什么该区域没有缩小以适应文本.
我认为这是一个填充问题或我不明白的东西,但它似乎不是字体填充,因为它有多大.
任何想法为什么textview将文本定位到目前为止,而不是将它包装到一个小得多的空间?
我正在努力寻找一种在Android上正确对齐EditText
和ImageView
正确对齐的方法.我一直得到这个结果:
XML部分非常简单:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:scaleType="centerInside"
android:src="@drawable/android"
android:visibility="gone" />
<EditText
android:id="@+id/edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我也尝试了下面的许多建议,包括PravinCG(RelativeLayout with alignTop/alignBottom):
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/edittext"
android:layout_alignTop="@+id/edittext"
android:scaleType="centerInside"
android:src="@drawable/android"
android:visibility="visible" />
<EditText
android:id="@+id/edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/image"
android:hint="@string/username"
android:singleLine="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
但结果完全一样.
我试过玩EditText的背景填充,内在高度,但无济于事.
EditText的背景drawable在Android版本/ ROM中是不同的,我想支持它们.
如何在任何Android版本(和样式)上使这个对齐像素完美?