2012-02-05 2 views
0

Простите мои простые вопросы, так как я новичок в android. :)Текст TextView Android не отображается внутри вкладки?

Почему текстовое свойство текстового представления не отображается на этой вкладке?

экрана: Here

Вот мой код ..

MapTab2.java

package com.test.maptab2; 

import android.app.TabActivity; 
import android.os.Bundle; 
import android.widget.TabHost; 

public class MapTab2 extends TabActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     TabHost.TabSpec spec; 

     spec = getTabHost().newTabSpec("tab1"); 
     spec.setContent(R.id.mapstub); 
     spec.setIndicator("Map"); 
     getTabHost().addTab(spec); 

     spec = getTabHost().newTabSpec("tab2"); 
     spec.setContent(R.id.detailstub); 
     spec.setIndicator("Detail"); 
     getTabHost().addTab(spec); 

     getTabHost().setCurrentTab(0); 

    } 

} 

main.xml

<?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"> 

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

     <!-- Tab-switch panel --> 
     <TabWidget android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"/> 

     <!-- Tab contents --> 
     <FrameLayout android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 

      <!-- Map here --> 
      <TextView android:id="@+id/mapstub" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="map"/> 

      <!-- Other stuff --> 
      <TextView android:id="@+id/detailstub" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="detail"/> 

     </FrameLayout> 
    </LinearLayout> 
</TabHost> 

Я пытаюсь построить свой путь до отображение карты на вкладке. Лучше всего понять основы, подумал я. : ')

ответ

1

На самом деле у меня было больше удачи, установив гравитацию в родительском представлении (в данном случае, LinearLayout), а затем установив атрибуты layout_gravity в дочерних представлениях (в вашем случае, в TextViews и т. Д.).

Чтобы получить этот простой пример работы, я бы изменил все ваши атрибуты «fill_parent» на «wrap_content» (или 0.0dp в качестве другой альтернативы) - тогда вы можете начать играть с разными атрибутами, чтобы все было позиционировано так, как вы как.

+0

Спасибо, установив все, чтобы wrap_content сделал отображение текста. – Ephemeros

0

Попробуйте добавить android: gravity = "center" в каждом TextView внутри Tab.

+0

Это не сработало к сожалению – Ephemeros

+0

Это не так? Как использовать [this] (http://developer.android.com/reference/android/widget/TextView.html#setGravity (int)) в java-коде? –

+0

Но, конечно, независимо от того, изменяю ли атрибут гравитации внутри xml или косвенно из java, тот же результат достигается? – Ephemeros