Reputation:
My Login screen layout seems like this:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/login_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff">
<include
android:id="@+id/headerlayout"
layout="@layout/headerview"
android:layout_height="50dip"
android:layout_width="fill_parent" />
<ImageView
android:id="@+id/imgIcon"
android:src="@drawable/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txtUserName"
android:layout_width="fill_parent"
android:layout_height="80dip"
android:lines="1"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="16dip"
android:text="User Name"/>
</LinearLayout>
However I am not able to see ImageView
and TextView
. Only headerview is visible and white layout below it. Why is it so?
Thanks,
Stone
Upvotes: 0
Views: 56
Reputation: 37729
just add
android:orientation="vertical"
in your <LinearLayout>
tag.
Edit:
By default the orientation is set to Horizontal means every component will be added horizontally, since you are using "fill_parent"
to the header, so it covers all the place(width) and leave no room for other components to appear. So when you add vertical all components are placed vertically. So enough room is available for components to layout themselves.More detail here
Upvotes: 1
Reputation: 29968
Bydefault LinearLayout
aligns all children in a single direction horizontally (if you dont specify android:orientation ) .
So here in your case it was adding views horizontally. Your header portion took full width of the screen (as you have specified android:layout_width="fill_parent"
in include
tag)and no space is left for that TextView
and ImageView
.
You just have to add orientation tag in LinearLayout
and set its value to vertical.
ie android:orientation="vertical"
.
LinearLayout from Android Docs says
LinearLayout aligns all children in a single direction — vertically or horizontally, depending on how you define the orientation attribute. All children are stacked one after the other, so a vertical list will only have one child per row, no matter how wide they are, and a horizontal list will only be one row high (the height of the tallest child, plus padding). A LinearLayout respects margins between children and the gravity (right, center, or left alignment) of each child.
Upvotes: 0