为什么我有TextView边距?

时间:2016-05-16 11:54:32

标签: android xml android-layout

我为android视图创建简单的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="match_parent"
              android:layout_height="wrap_content">

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:id="@+id/recipe_step_number_textView"
        android:text="STEP #NUM"
        />

    <EditText
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        android:id="@+id/recipe_step_title_editText"
        android:hint="add step title"/>

</LinearLayout>

他,你怎么看,有非常简单的TextView和EditText,但TextView在Top中有几个像素的边距,如下所示:

Screen from Studio

为什么我有保证金最高?

UPD 非常感谢!我发现有很多方法可以解决这些微不足道的问题,几乎所有问题都适合

4 个答案:

答案 0 :(得分:3)

根据textview define here的默认大小,你正在使用wrap_content来表示它的高度。 这就是为什么它显示不同的东西作为你的编辑文本(不同的边距)..
您必须为其提供文字大小 ...或者您可以将 textview的高度更改为match_parent

答案 1 :(得分:2)

试试这个

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
    android:id="@+id/recipe_step_number_textView"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:layout_gravity="top"
    android:gravity="center"
    android:text="STEP #NUM" />

<EditText
    android:id="@+id/recipe_step_title_editText"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="4"
    android:hint="add step title" />

答案 2 :(得分:1)

您提供android:gravity="center"并提供android:layout_weight="1",此处您的文字很大且位于中心。所以,看起来就是这样。

如果您使用RelativeLayout

,效果会更好
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/recipe_step_number_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="STEP #NUM" />

    <EditText
        android:id="@+id/recipe_step_title_editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/recipe_step_number_textView"
        android:hint="add step title" />
</RelativeLayout>

<?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:orientation="horizontal"
    android:weightSum="5">

    <TextView
        android:id="@+id/recipe_step_number_textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:text="STEP #NUM" />

    <EditText
        android:id="@+id/recipe_step_title_editText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        android:hint="add step title" />
</LinearLayout>

答案 3 :(得分:0)

  

weightSum添加到您的Root Layout

请参阅此内容。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="5">

    <TextView
        android:id="@+id/recipe_step_number_textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="STEP #NUM" />

    <EditText
        android:id="@+id/recipe_step_title_editText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        android:hint="add step title" />

</LinearLayout>

编辑1:

  

如果您不想让Text View成为唯一的解决方案,请将此行添加到weightSum

android:singleLine="true"

编辑2:

  

使用。

设置Text View的具体尺寸
android:textSize="12sp"