布局xml定位syling

时间:2014-03-08 14:58:32

标签: android xml android-layout

我不太了解布局的样式,我希望某些对象将附加到creen的右侧,而某些对象将附加到屏幕的左侧。

我有这个xml:

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

     <TextView android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:textStyle="bold"
        android:textSize="22dp"
        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp"
         android:text="TextView" />

     <TextView android:id="@+id/date"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:textStyle="bold"
        android:textSize="22dp"
        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp"
         android:text="TextView" />

     <TextView
         android:id="@+id/score"
         android:layout_width="wrap_content"
         android:layout_height="fill_parent"
         android:layout_alignParentBottom="true"
         android:layout_alignParentTop="true"
         android:layout_marginBottom="5dp"
         android:layout_marginLeft="0dp"
         android:layout_marginTop="5dp"
         android:gravity="center_vertical"
         android:text="TextView"
         android:textColor="#000000"
         android:textSize="22dp"
         android:textStyle="bold" />

</LinearLayout>

我希望TextView score位于屏幕的左侧;我的意思是左边将是0。

3 个答案:

答案 0 :(得分:1)

你可以使用

android:layout_gravity="right""left"

答案 1 :(得分:1)

// try this way let me know still have some problem.
<?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="match_parent"
    android:padding="10dp">

    <TextView
        android:id="@+id/score"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="5dp"
        android:gravity="center_vertical"
        android:text="TextView"
        android:textColor="#000000"
        android:textSize="22dp"
        android:textStyle="bold" />
    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent">
        <TextView android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:textStyle="bold"
            android:textSize="22dp"
            android:textColor="#000000"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp"
            android:text="TextView" />

        <TextView android:id="@+id/date"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:textStyle="bold"
            android:textSize="22dp"
            android:textColor="#000000"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp"
            android:text="TextView" />

    </LinearLayout>

</LinearLayout>

答案 2 :(得分:1)

在水平LinearLayout中,视图从左到右显示。因此,如果您希望将score修复为左侧,则必须将其放在LinearLayout内,但在namedate之前。

如果要将另一个视图固定到右侧,则必须使“中间”视图填充剩余空间。您通常会将layout_width设置为0dp并将layout_weight设置为1来执行此操作。

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<TextView
     android:id="@+id/score"
     android:layout_width="wrap_content"
     android:layout_height="fill_parent" 
     ... />

 <TextView android:id="@+id/name"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="1" 
    ... />

 <TextView android:id="@+id/date"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent" 
    ... />

</LinearLayout>

如果您需要更多灵活性,请尝试使用RelativeLayout