LinearLayout未显示

时间:2016-05-12 05:15:30

标签: android xml android-layout android-studio scrollview

您好,我正在学习Android。

以下是我的布局代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.android.aidsdruginformation.DetailActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:elevation="4dp"
                android:padding="8dp"
                android:text="ApprovalStatus"
                android:textAlignment="center" />

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:elevation="4dp"
                android:padding="8dp"
                android:text="FDA-approved"
                android:textAlignment="center" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:elevation="4dp"
                android:padding="8dp"
                android:text="ApprovalStatus"
                android:textAlignment="center" />

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:elevation="4dp"
                android:padding="8dp"
                android:text="GDA-approved"
                android:textAlignment="center" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

UI屏幕截图:

Screenshot

我希望我的UI看起来如何: Sample UI 为什么第二个LinearLayout没有显示? 难道我做错了什么? 使用layout_width时,父元素是否应具有固定维度? 请指教..

链接到我的回购: https://github.com/MukundPradeep/AidsDrugInformation

8 个答案:

答案 0 :(得分:2)

您可以使用 android:fillViewport

  

定义scrollview是否应该拉伸其内容以填充   视口。

     

必须是布尔值,“true”或“false”。

你应该尝试以下方法。以root身份制作LinearLayout

    <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">
       // Your Staff
    </ScrollView>
</LinearLayout>

enter image description here

答案 1 :(得分:1)

尝试,向ScrollView添加一些属性,

  

机器人:fillViewport = “真”,           机器人:isScrollContainer = “真”

将LinearLayout添加为ScrollView的父级

<?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="match_parent"
    android:orientation="vertical" >

    <ScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true"
        android:isScrollContainer="true" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:weightSum="10" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:orientation="horizontal"
                android:weightSum="2" >

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:elevation="4dp"
                    android:gravity="center"
                    android:padding="8dp"
                    android:text="ApprovalStatus"
                    android:textAlignment="center" />

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:elevation="4dp"
                    android:gravity="center"
                    android:padding="8dp"
                    android:text="FDA-approved"
                    android:textAlignment="center" />
            </LinearLayout >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:orientation="horizontal"
                android:weightSum="2" >

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:elevation="4dp"
                    android:gravity="center"
                    android:padding="8dp"
                    android:text="ApprovalStatus"
                    android:textAlignment="center" />

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:elevation="4dp"
                    android:gravity="center"
                    android:padding="8dp"
                    android:text="GDA-approved"
                    android:textAlignment="center" />
            </LinearLayout >

            <View
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="8" />
        </LinearLayout >
    </ScrollView >
</LinearLayout >

答案 2 :(得分:1)

通过我的回购,

我认为框架正在使用activity_detail.xml文件夹下的layout v-17,因为我使用的android:textAlignment="center"属性仅适用于API 17+。我的目标SDK是23。 因此,我发布的布局(在layout目录下)只会在运行Android版本少于17的设备上显示。

如果您计划使用上述属性,请确保在为不同API生成的所有布局文件夹中实现布局更改。

感谢大家试图帮助我。

答案 3 :(得分:0)

只需为此线性布局提供此属性:

android:weightSum="2"然后您的两个子线性布局都显示在屏幕上。

答案 4 :(得分:0)

我尝试使用您的代码并显示

试试这种方式

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    tools:context="com.example.android.aidsdruginformation.DetailActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:elevation="4dp"
                android:padding="8dp"
                android:text="ApprovalStatus"
                android:textAlignment="center" />

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:elevation="4dp"
                android:padding="8dp"
                android:text="FDA-approved"
                android:textAlignment="center" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:elevation="4dp"
                android:padding="8dp"
                android:text="ApprovalStatus"
                android:textAlignment="center" />

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:elevation="4dp"
                android:padding="8dp"
                android:text="GDA-approved"
                android:textAlignment="center" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

OUTPUT
enter image description here

答案 5 :(得分:0)

as explained here: 
  http://guides.rubyonrails.org/routing.html#restricting-the-routes-created
  from
  /Users/blu/.rvm/gems/ruby-2.1.7/gems/actionpack-4.0.13/lib/action_dispatch/routing/mapper.rb:1484:in
  

您将第一个布局权重设为1.这将占据屏幕的整个高度。你可以分开它。但是如果你给予重量滚动视图,那么滚动视图的用途是什么。

答案 6 :(得分:0)

检查一下。如果它有用,请将其设为正确。

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="20dp">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:layout_weight="1"
        android:id="@+id/l1"
        >


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textStyle="bold"
                android:textColor="#ffffff"
                android:text="Now book a ride at 6Rs/km with uber go"
                android:layout_centerVertical="true"
                android:layout_alignParentStart="true" />




            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:text="7/11 supermarket get special discounts today only"
                android:textStyle="bold"
                android:textColor="#ffffff"
                android:layout_centerVertical="true"
                android:layout_alignParentStart="true" />






    </RelativeLayout>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/l1"
        android:padding="10dp"
        android:layout_weight="1"
        android:id="@+id/l2">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textStyle="bold"
                android:textColor="#ffffff"
                android:text="10% discount on all meals"
                android:layout_centerVertical="true"
                android:layout_alignParentStart="true" />




            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textStyle="bold"
                android:textColor="#ffffff"
                android:text="Clearance sale upto 40% off"
                android:layout_centerVertical="true"
                android:layout_alignParentStart="true" />





    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="201dp"
        android:layout_below="@id/l2"
        android:layout_weight="1"
        android:padding="10dp"
        >

       <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textStyle="bold"
                android:textColor="#ffffff"
                android:text="Starbucks coffee try our special new mocha latte for a limited period discount"
                android:layout_centerVertical="true"
                android:layout_alignParentStart="true" />

               <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textStyle="bold"
                android:textColor="#ffffff"
                android:text="Buy 2 get 1 free*"
                android:layout_centerVertical="true"
                android:layout_alignParentStart="true" />
     </RelativeLayout>
</LinearLayout>

答案 7 :(得分:0)

使用垂直方向的另一个线性布局包裹您的两个线性布局(如许多注释中所示)。在您的情况下,两个线性布局都相互重叠,因此您只能看到一个。 除非它有足够的项目滚动,否则它无法滚动。