这种布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="90sp"
android:text="5000"
android:id="@+id/textView"
android:layout_gravity="center"
/>
</LinearLayout>
产生以下内容:
我想摆脱上下边距。它们首先来自哪里?也许某些字体/语言中的某些字母。
已经有thread for this question,但没有一个答案真正适用于所有情况,或者解决方案都是黑客攻击。必须有一个简单的方法。
来自主题的第一个想法: android:includeFontPadding="true"
(不会改变任何内容)
来自主题的第二个想法: android:height="90sp"
(至少删除底部边距)
所以,我改变了关于这些想法的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="90sp"
android:text="5000"
android:id="@+id/textView"
android:layout_gravity="center"
android:includeFontPadding="true" <!-- idea 1 -->
android:height="90sp" <!-- idea 2 -->
/>
</LinearLayout>
仍然会占据上限:
来自主题的第三个想法: android:layout_marginTop="-12sp"
如果添加此属性,它至少会根据需要显示。但-12sp
似乎对我来说是如此武断。我只是通过反复试验来调整这个值,我不喜欢这样。
这对我来说似乎不是一个干净的解决方案。这是一件非常简单的事情,我简直无法相信Android如何能够如此努力,你必须使用黑客。
那里有干净的解决方案吗?
答案 0 :(得分:-1)
使用以下语法以编程方式设置文本大小,并在dimes文件中设置所需的大小。
textView.setTextSize(getResources().getDimension(R.dimen.textsize));
根据您的需要在代码下方设置填充
yourTextView.setPadding(0, 10, 0, 0);
答案 1 :(得分:-1)
将Linearlayout和TextView填充和边距设置为0dp。应该工作。
将这些添加到两个视图中:
android:padding="0dp"
android:layout_margin="0dp"