如何在相对布局中提供全宽

时间:2013-08-28 14:50:46

标签: android android-layout layout user-interface

我有一个布局文件,其中包含6个文本视图和一个图像视图。视图看起来像这样

ABC    |    DEF
HIJ    |    KLM
NOP    |    QRS 

这应该是布局中水平滚动视图的一部分。上面的视图应该覆盖整个屏幕宽度,如果我滑动,那么只有下一个视图才会出现。否则只有用户可以看到上面的布局。

我设计了布局,但我没有得到所需的输出。有一次我能看到上面的3到4个视图重叠,

这是我的布局,看起来像上面的视图

<?xml version="1.0" encoding="utf-8"?>

<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/EventCode1"
    android:text="Event Code 1"
    android:textSize="19sp"
    android:layout_weight="1"
    android:layout_alignParentTop="true"/>

<TextView
    android:layout_centerVertical="true"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/EventText1"
    android:paddingRight="10dip"
    android:textSize="25sp"
    android:text="Event Text 1"
    android:layout_below="@+id/EventCode1"/>

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:id="@+id/EventDate1"
    android:text="Event Date 1"
    android:textSize="19sp"
    android:layout_below="@+id/EventText1"/>

<ImageView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"

   android:layout_alignParentTop="true"
    android:layout_centerInParent="true"
    android:src="@drawable/divider"
    android:id="@+id/divider"
    />

 <TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/EventCode2"
    android:text="Event Code 2"
    android:textSize="19sp"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"/>

<TextView
    android:layout_centerVertical="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/EventText2"
    android:textSize="25sp"
    android:text="Event Text 2"
    android:layout_below="@+id/EventCode2"
     android:layout_alignParentRight="true"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/EventText2"
    android:id="@+id/EventDate2"
    android:text="Event Date 2"
    android:textSize="19sp"
    android:layout="@+id/EventDate2"/>


   </RelativeLayout>

我会将上面的布局扩展为包含衬里布局的水平滚动视图。

<?xml version="1.0" encoding="utf-8"?>

<View
   android:layout_width="fill_parent"
                android:layout_height="5dp"
                   android:background="@drawable/shade"/>

   <Button
       android:id="@+id/EventsButton"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentRight="true"
       android:layout_alignTop="@+id/URL"
       android:text="Events Around" />

<LinearLayout
    android:id="@+id/eventlist"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
   </LinearLayout>

这是用于给自定义视图充气并放入水平线框布局的代码,

如果我有10个事件,就像这样添加它。它可能在运行时

for(int i = 0; i<10 ; i++)
        {


         LayoutInflater inflater = getActivity().getLayoutInflater();


        View view = (View)inflater.inflate(R.layout.greventslayout,null);

        mEventsLayout.addView(view);
        }

更新::

添加以下代码后,我得到这样的UI。

enter image description here

1 个答案:

答案 0 :(得分:0)

试试这个。

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/RelativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight=".45"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight=".10"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@android:drawable/divider_horizontal_dark" />

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@android:drawable/divider_horizontal_bright" />

            <ImageView
                android:id="@+id/imageView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@android:drawable/divider_horizontal_bright" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight=".45"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView
                android:id="@+id/textView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView
                android:id="@+id/textView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </LinearLayout>

    </LinearLayout>

</RelativeLayout>