标签: tabwidget

无论我们将tab2设置为默认选项卡,android第一个选项卡intent oncreate总是被调用

以下是具有意图数据的选项卡示例.

在调试时我发现总是在第一个选项卡中我们在tab选项卡中添加了tab主机

tabHost.addTab(tabHost.newTabSpec("tab1")
                    .setIndicator("list")
                    .setContent(new Intent(this, List1.class)));
Run Code Online (Sandbox Code Playgroud)

即使我将tab2定义为当前选项卡如何解决这个问题,"List1"意图的oncreate方法也会被调用,无论它是否是我们当前的选项卡?

public class Tabs3 extends TabActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        final TabHost tabHost = getTabHost();

        tabHost.addTab(tabHost.newTabSpec("tab1")
                .setIndicator("list")
                .setContent(new Intent(this, List1.class)));

        tabHost.addTab(tabHost.newTabSpec("tab2")
                .setIndicator("photo list")
                .setContent(new Intent(this, List8.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));

        // This tab sets the intent flag so that it is recreated each time
        // the tab is clicked.
        tabHost.addTab(tabHost.newTabSpec("tab3")
                .setIndicator("destroy")
                .setContent(new Intent(this, Controls2.class)
                        .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
    }
}
Run Code Online (Sandbox Code Playgroud)

android tabwidget

5
推荐指数
1
解决办法
2368
查看次数

在TabActivity中控制选项卡颜色状态/大小?

好吧,这让我疯了 - 我搜索了所有可以找到的参考文献和例子,我似乎仍然遗漏了一些非常明显的东西.这些是7天电视指南的标签(通常不带红色箭头,显然:) :)

在此输入图像描述

我需要知道的是构成Tab本身主体/背景的对象(我认为是View还是Drawable)是什么?(如红色箭头所示)以及如何访问它或让它自动将其状态颜色更改为我选择的列表?另外,如何让指标TextView的状态颜色跟随呢?

示例:在上面的捕获中,它是可读的,因为我已将textColor设置为静态灰色(而不是在所选选项卡上消失的亮白色).但我想让它自动变为白色标签上的黑色文字(选中)和黑色的明亮白色文字(未选中).

感谢所有的帮助.

android tabwidget tabactivity

5
推荐指数
1
解决办法
3832
查看次数

为什么我从TabWidget获得空指针异常?

我正在编写一个android程序,其中我有一个使用制表符的活动.

活动

public class UnitActivity extends TabActivity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  TabHost tabHost = getTabHost();
  TabSpec spec;
  Resources res = getResources();

  LayoutInflater.from(this).inflate(R.layout.unit_view, tabHost.getTabContentView(), true);

  spec = tabHost.newTabSpec("controls");
  spec.setIndicator("Control", res.getDrawable(R.drawable.ic_tab_equalizer));
  spec.setContent(R.id.txtview);
  tabHost.addTab(spec);
}
Run Code Online (Sandbox Code Playgroud)

}

R.layout.unit_view引用的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:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dp">
  <TabWidget android:id="@android:id/tabs"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"/>
    <FrameLayout android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
      <TextView android:id="@+id/txtview"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:gravity="bottom"
          android:text="nullpointer this!" />
    </FrameLayout>
  </LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud)

据我所知,我正在做我在android sdk的tabs1 api示例中看到的相同内容.我尝试过"getLayoutInflator()"而不是"LayoutInflator.from(this)",结果相同.

如果我用"setContentView(R.layout.unit_view)"替换LayoutInflater行,我的程序不会因空指针异常而崩溃,但我的内容完全空白且为空.我得到了标签,就是这样.

我检查确保R.layout.unit_view和tabHost在运行LayoutInflater行时不为空,它们似乎没问题.他们肯定不是空的.我还检查过确保LayoutInflater.from(this)返回一个有效的布局inflater对象,它确实如此.

指示错误的logcat说

 E/AndroidRuntime(  541): java.lang.NullPointerException
 E/AndroidRuntime( …

android view tabwidget

4
推荐指数
1
解决办法
1万
查看次数

TabWidgets之间的分隔线

TabWidget下的android:divider属性是否有效?我试过android的Tab Layout教程只是为了测试(http://developer.android.com/resources/tutorials/views/hello-tabwidget.html)并将android:divider设置为某个图像(现在我用的是android垂直滚动条作为drawable真正强调它是否被拾取(从框架中复制),但是当我在模拟器上运行它时,它似乎没有工作.根据文档,TabWidget似乎支持这个attribute:"Drawable用于在制表符之间绘制分隔符."

有人可以帮忙吗?我正在使用九补丁的drawable作为我的分隔图像drawable.

MB

layout tabs android tabwidget divider

4
推荐指数
3
解决办法
2万
查看次数

如何创建中心凸起的tabbar?

我想像下图一样创建TabBar:

在此输入图像描述

这里,所有标签栏都是正常的.只是他们是定制的.现在我想像上面的图像一样创建Tab栏.其中中心Tab被抬起.

那么我该怎么做才能实现呢?

如果有任何演示那么它会很好.

请帮我.

android tabwidget android-layout android-tabhost

4
推荐指数
1
解决办法
2507
查看次数

在 Pyqt 中选择选项卡时未发出信号

我有一个标签小部件,其中包含 3 个标签。我需要在更改选项卡时发出信号,查看 pyQt 文档 currentChanged() 是在更改选项卡时发出的信号,但它对我不起作用。所以需要你的帮助来理解相同的,

我的代码如下:

main_tab_widget = QTabWidget()

    #Creating Tabs
    self.run_tab = QWidget()
    self.cc_tab = QWidget()
    self.result_tab = QWidget()

    #Adding Tabs to Tab Widget
    main_tab_widget.addTab(self.run_tab, "RUN")
    main_tab_widget.addTab(self.cc_tab, "Config Creator")
    main_tab_widget.addTab(self.result_tab, "Result")

    #Layout Creation
    main_layout = QVBoxLayout()
    main_layout.addWidget(main_tab_widget)

    self.connect(self.cc_tab, SIGNAL('currentChanged(int)'), self.pseudofunction)
    self.RunTab()
    self.setLayout(main_layout)
    #self.configcreatortab()
    #self.resulttab()

def pseudofunction(self):
    print 'Inside Pseudo Function'
Run Code Online (Sandbox Code Playgroud)

python pyqt tabbar pyqt4 tabwidget

3
推荐指数
1
解决办法
5664
查看次数

Android,如何将第一个标签始终设置为默认标签

public class SoapBox extends TabActivity{

    private TabHost tabHost;

    private void setupTabhost()
    {
        tabHost=(TabHost)findViewById(android.R.id.tabhost);
        tabHost.setup();
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tab);

        TabHost tabHost=getTabHost();
        setupTabhost();
        tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_space);

        Intent intent1=new Intent().setClass(this, MySoapBox.class);
        setupTab(new TextView(this), "My SoapBox", intent1);
        Intent intent2=new Intent().setClass(this, FriendsSoapBox.class);
        setupTab(new TextView(this),"Friends SoapBox", intent2);
        Intent intent3=new Intent().setClass(this, Recommendations.class);
        setupTab(new TextView(this),"Recommendations", intent3);

        tabHost.setCurrentTab(0);

    }
    private void setupTab(final View view, final String tag, Intent intent)
    {
        View tabView=createTabView(tabHost.getContext(), tag);
        TabSpec tabSpec=tabHost.newTabSpec(tag).setIndicator(tabView).setContent(intent);
        tabHost.addTab(tabSpec);
    }
    private static View createTabView(final Context context,final String text)
    { …
Run Code Online (Sandbox Code Playgroud)

android tabwidget

3
推荐指数
1
解决办法
2万
查看次数

Android tabHost是不可见的?为什么不用这个XML显示?

在Eclipse上的XML编辑器中,我看到了tabhost,它看起来就像我想要的那样,但是当我运行它时,我根本看不到tabHost,我怎样才能确保它是可见的?

这是我的XML.再次,编辑器显示它,但是当我运行它时它没有,膨胀它的活动还没有做太多,只需更改两个文本字段.有任何想法吗?

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnCount="2"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/name"
        android:layout_width="238dp"
        android:layout_column="0"
        android:layout_columnSpan="2"
        android:layout_gravity="top|left"
        android:layout_marginTop="7dp"
        android:layout_marginLeft="3dp"
        android:layout_row="0"
        android:gravity="top"
        android:maxLines="1"
        android:padding="3dp"
        android:text="Motherfucking Acer Laptop X314134"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <View
        android:layout_height="2dp"
        android:layout_width="fill_parent"
        android:layout_row="1"
        android:layout_column="0"
        android:layout_columnSpan="2"
        android:background="#FF000000"
        />

    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_column="0"
        android:layout_columnSpan="2"
        android:layout_gravity="center_horizontal"
        android:layout_row="2" >

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

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
            </TabWidget>

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

                <LinearLayout
                    android:id="@+id/Info"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/Specs"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/Fotos"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" > …
Run Code Online (Sandbox Code Playgroud)

xml tabs android tabwidget android-tabhost

3
推荐指数
1
解决办法
3363
查看次数

如何更新Android标签上的徽章价值?

我有tabbar5个标签,我在第4个标签上添加了徽章.我想在服务器执行某些操作后更新我的徽章值.但不知道怎么能这样做.此外,我想从不同的更新徽章价值activities.添加徽章的代码片段Tabbar

TabWidget tabs = (TabWidget) findViewById(android.R.id.tabs);
badge = new BadgeView(context, tabs, 3);
badge.setTextSize(12);
badge.setBadgePosition(BadgeView.POSITION_TOP_RIGHT);
badge.setText(pref.getString("balance", "0"));
badge.toggle();
Run Code Online (Sandbox Code Playgroud)

先感谢您

tabs android tabwidget

3
推荐指数
1
解决办法
2926
查看次数

SupportFragment + TabWidget +三星设备= "java.lang.IllegalStateException:以后的onSaveInstanceState无法执行此操作"?

我有使用android.support.v4库非常简单FragmentActivity,有的只是FragmentActivity,其中包含4片段内TabHost.

没有异步任务,没有onSaveInstanceState()的实现.

在市场上几周之后我得到了很多异常报告,名为"java.lang.IllegalStateException:onSaveInstanceState后无法执行此操作"(请参阅​​下面的堆栈跟踪),全部来自三星设备(SM-N9003,GT-I9305,GT) -N7100 ......等等,完全不知道出了什么问题.

我之前搜索过一些类似的问题,但根本没有答案.

布局:

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

    <FrameLayout
        android:id="@+id/realtabcontent"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <android.support.v4.app.FragmentTabHost
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="0" />
    </android.support.v4.app.FragmentTabHost>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

代码:

private void setupTabs() {
    FragmentTabHost tabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
    tabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

    tabHost.addTab(setIndicator(this, tabHost.newTabSpec(FragmentList), getString(R.string.tabwidget_List), R.drawable.btn_icon_order), ListFragment.class, null);
    tabHost.addTab(setIndicator(this, tabHost.newTabSpec(FragmentSwitch), getString(R.string.tabwidget_Switch), R.drawable.btn_icon_switch), SwitchFragment.class, null);
    tabHost.addTab(setIndicator(this, tabHost.newTabSpec(FragmentQueue), getString(R.string.tabwidget_Queue), R.drawable.btn_icon_queue), QueueFragment.class, null);
    tabHost.addTab(setIndicator(this, tabHost.newTabSpec(FragmentMore), getString(R.string.tabwidget_More), R.drawable.btn_icon_more), MoreFragment.class, null);

}

private TabSpec setIndicator(Context context, TabSpec tabSpec, String …
Run Code Online (Sandbox Code Playgroud)

android tabwidget android-fragments

3
推荐指数
1
解决办法
1478
查看次数