android布局间距

时间:2017-03-14 10:29:11

标签: android layout android-linearlayout

我是Android开发人员的新手,很抱歉这可能是一个基本问题......

我试图让2个文字视图显示在屏幕顶部并占据相同数量的空间,但在2个视图之间以及左侧和右侧之间有20dp的边距屏幕的一侧。

很像

enter image description here

我的代码目前是:

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#A1887F" 
android:orientation="horizontal">

<TextView
    android:id ="@+id/1_Heading"
    android:text="1"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:textAppearance="?android:textAppearanceMedium"
    android:background="#4CAF50"
    android:padding="10dp"
    android:textColor="#ffffff"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="10dp"  />

<TextView
    android:id ="@+id/2_Heading"
    android:text="2"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:textAppearance="?android:textAppearanceMedium"
    android:background="#4CAF50"
    android:padding="10dp"
    android:textColor="#ffffff"
    android:layout_marginRight="10dp"
    android:layout_marginTop="10dp"  />  

</LinearLayout>

任何想法和对不起,如果这是一个基本问题 - 我试图在网上找到解决方案,但没什么大帮助。

6 个答案:

答案 0 :(得分:3)

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#A1887F"
    android:weightSum="2"
    android:orientation="horizontal">

    <TextView
        android:id ="@+id/1_Heading"
        android:text="1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceMedium"
        android:background="#4CAF50"
        android:padding="10dp"
        android:textColor="#ffffff"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"  />

    <TextView
        android:id ="@+id/2_Heading"
        android:text="2"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceMedium"
        android:background="#4CAF50"
        android:padding="10dp"
        android:textColor="#ffffff"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"  />

</LinearLayout>

答案 1 :(得分:1)

您只需要将第一个Textview的半边距和第二个Textview的一半左边距给出如下: -

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#A1887F"
    android:orientation="horizontal">

    <TextView
        android:id ="@+id/1_Heading"
        android:text="1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceMedium"
        android:background="#4CAF50"
        android:padding="10dp"
        android:textColor="#ffffff"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="10dp"  />

    <TextView
        android:id ="@+id/2_Heading"
        android:text="2"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceMedium"
        android:background="#4CAF50"
        android:padding="10dp"
        android:textColor="#ffffff"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"  />

</LinearLayout>

答案 2 :(得分:0)

尝试使用此布局xml。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#A1887F"
    android:orientation="horizontal"
    android:weightSum="2">

    <TextView
        android:id="@+id/heading1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:background="#4CAF50"
        android:padding="5dp"
        android:text="1"
        android:textAppearance="?android:textAppearanceMedium"
        android:textColor="#ffffff" />

    <TextView
        android:id="@+id/heading2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:background="#4CAF50"
        android:padding="5dp"
        android:text="2"
        android:textAppearance="?android:textAppearanceMedium"
        android:textColor="#ffffff" />

</LinearLayout>

答案 3 :(得分:0)

试试这个:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#A1887F"
    android:layout_weight="100"
    android:orientation="horizontal">

    <TextView
        android:id ="@+id/Heading_1"
        android:text="1"
        android:layout_width="0dp"
        android:layout_weight="50"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceMedium"
        android:background="#4CAF50"
        android:padding="10dp"
        android:textColor="#ffffff"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"  />

    <TextView
        android:id ="@+id/Heading_2"
        android:text="2"
        android:layout_width="0dp"
        android:layout_weight="50"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceMedium"
        android:background="#4CAF50"
        android:padding="10dp"
        android:textColor="#ffffff"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"  />

</LinearLayout>

结果:enter image description here

答案 4 :(得分:0)

  • 在第一个TextView上提供isinstance(s, types.StringTypes)
  • 在第二个TextView上提供android:layout_marginEnd="10dp"

Was Able to achieve this using below code

&#13;
&#13;
android:layout_marginStart="10dp"
&#13;
&#13;
&#13;

答案 5 :(得分:0)

您可以通过向父级(LinearLayout)提供20dp填充,然后从结束到第一个按钮提供10dp边距,从开始到第二个按钮提供10dp边距来处理此问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#A1887F"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/btn1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:layout_marginStart="20dp"
        android:layout_marginTop="20dp"
        android:layout_weight="1"
        android:padding="10dp"
        android:background="#4CAF50"
        android:text="1"
        android:textAppearance="?android:textAppearanceMedium"
        android:textColor="#ffffff" />

    <TextView
        android:id="@+id/btn2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="20dp"
        android:layout_marginStart="10dp"
        android:layout_marginTop="20dp"
        android:layout_weight="1"
        android:padding="10dp"
        android:background="#4CAF50"
        android:text="2"
        android:textAppearance="?android:textAppearanceMedium"
        android:textColor="#ffffff" />

</LinearLayout>