Android 要在我的启动活动中显示tabbar和listview吗
我的问题是:我的选项卡栏没有显示,只有listview显示在全屏上 在这里,我的lisview首先出现在我的选项卡栏后面,略微可见Android 要在我的启动活动中显示tabbar和listview吗,android,xml,listview,tabbar,Android,Xml,Listview,Tabbar,我的问题是:我的选项卡栏没有显示,只有listview显示在全屏上 在这里,我的lisview首先出现在我的选项卡栏后面,略微可见 I want to display the tab bar and listview but when my main activity launched then my tab bar gets hided... so tell me what is the problem in my xml or my src file. 此类加载“主页”选项卡的内容,其中显
I want to display the tab bar and listview but when my main activity launched then my tab bar gets hided... so tell me what is the problem in my xml or my src file.
此类加载“主页”选项卡的内容,其中显示与“主页”选项卡相关的内容,但我的选项卡栏隐藏在此处
Main Activity:(Here I am displaying tab host)
package com.example.testlist;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import android.app.Activity;
import android.app.TabActivity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
public class MainActivity extends TabActivity implements OnTabChangeListener{
/*******************************/
//Test for tab bar
TabHost tabHost;
/*******************************/
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/*setContentView(R.layout.list_view_layout);
ListView listview=(ListView)findViewById(R.id.listView1);
*/
setContentView(R.layout.layout_tab_bar);
// Get TabHost Refference
tabHost = getTabHost();
// Set TabChangeListener called when tab changed
tabHost.setOnTabChangedListener(this);
TabHost.TabSpec spec;
Intent intent;
/************* TAB1 (home)************/
// Create Intents to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, HomeTab.class);
spec = tabHost.newTabSpec("First").setIndicator("")
.setContent(intent);
//Add intent to tab
tabHost.addTab(spec);
/************* TAB2(alerts) ************/
intent = new Intent().setClass(this, Tab2.class);
spec = tabHost.newTabSpec("Second").setIndicator("")
.setContent(intent);
tabHost.addTab(spec);
/************* TAB3 (newsletters)************/
intent = new Intent().setClass(this, Tab3.class);
spec = tabHost.newTabSpec("Third").setIndicator("")
.setContent(intent);
tabHost.addTab(spec);
/************* TAB4(calendars) ************/
intent = new Intent().setClass(this, Tab4.class);
spec = tabHost.newTabSpec("Fourth").setIndicator("")
.setContent(intent);
tabHost.addTab(spec);
/************* TAB5 (more)************/
intent = new Intent().setClass(this, Tab5.class);
spec = tabHost.newTabSpec("Fifth").setIndicator("")
.setContent(intent);
tabHost.addTab(spec);
// Set drawable images to tab
tabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.homeicon);
tabHost.getTabWidget().getChildAt(1).setBackgroundResource(R.drawable.alert_small_icon);
tabHost.getTabWidget().getChildAt(2).setBackgroundResource(R.drawable.newsl);
tabHost.getTabWidget().getChildAt(3).setBackgroundResource(R.drawable.menu_calendar);
tabHost.getTabWidget().getChildAt(4).setBackgroundResource(R.drawable.more_big);
// Set Tab1 as Default tab and change image
tabHost.getTabWidget().setCurrentTab(0);
}
@Override
public void onTabChanged(String tabId) {
}
}
HomeTab.java:(this class loads the content of first tab)
这是因为您在此处声明内容的高度以填充父级
package com.example.testlist;
import java.util.ArrayList;
import android.R.anim;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.ListView;
public class HomeTab extends Activity{
MyCustomAdapter myCustomAdapter;
Context context=HomeTab.this;
String optionName[]=new String[] {"Alerts","Events","Newsletters","News","Parent Info","Logins","Parent Teacher Interviews","Flexi School LunchOrder","Contact US","Kool Content"};
// String text2[]=new String[] {"sub1","sub2","sub3","sub4","sub1","sub2","sub3","sub4","sub1","sub2"};
//int image[]=new int[] {R.drawable.alert_small_icon,R.drawable.events,R.drawable.newsletter,R.drawable.newsletter,R.drawable.arrow_24,R.drawable.arrow_24,R.drawable.arrow_24,R.drawable.arrow_24,R.drawable.arrow_24,R.drawable.arrow_24};
int imageArrow[]=new int[]{R.drawable.right_arrow};
ArrayList<ListModel> mylist=new ArrayList<ListModel>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_view_layout);
ListView listview=(ListView)findViewById(R.id.listView1);
getDatainList();
listview.setAdapter(new MyCustomAdapter(context, mylist));
listview.setBackgroundColor(Color.WHITE);
}
private void getDatainList()
{
for(int i=0;i<10;i++)
{
ListModel li=new ListModel();
li.setOptionName(optionName[i]);
// li.setImage(image[i]);
li.setImageArrow(R.drawable.arrow);
mylist.add(li);
}
}
}
layout_tab_bar.java(This class displays the tab host and used in Main Activity)
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</RelativeLayout>
</TabHost>
listview_layout.xml:
This file shows how the listview is added:
<?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="fill_parent"
android:orientation="vertical" >
<!-- Header Starts -->
<RelativeLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:paddingBottom="5dp"
android:paddingTop="5dp" >
<!-- Logo Start -->
<ImageView
android:id="@+id/menuimage"
android:layout_width="wrap_content"
android:layout_height="15dp"
android:src="@drawable/menuicon_big" />
<TextView
android:id="@+id/txt_Home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginLeft="22dp"
android:gravity="center"
android:text="HOME"
android:textColor="@android:color/black"
android:textSize="20sp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp" />
</RelativeLayout>
<!-- Header Ends -->
<ImageView
android:id="@+id/stbernard"
android:layout_width="match_parent"
android:layout_height="60dp"
android:scaleType="fitXY"
android:src="@drawable/stbernard" />
<!-- <ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.01"
android:divider="@android:color/transparent"
android:dividerHeight="10.0sp" >
</ListView> -->
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</ListView>
</LinearLayout>
single_row.xml:
This file shows how the content inside listview appears for each item
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/rel">
<ImageView
android:id="@+id/imageviewArr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="21dp"
android:src="@drawable/arrow"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<View android:id="@+id/testView"
android:layout_height="1dp"
android:layout_width="match_parent"
android:background="@android:color/black"
/>
<TextView
android:id="@+id/txt_Options"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="center"
android:text="text1"
android:textColor="@android:color/black"
android:textSize="20sp"
android:paddingLeft="2dp" />
</RelativeLayout>
android:layout_weight将填充父视图的所有剩余空间,因此它不会彼此重叠
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />