标签: tabactivity

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

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

在此输入图像描述

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

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

感谢所有的帮助.

android tabwidget tabactivity

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

为什么禁用TabActivity(原因)?

不是重复的我如何使用片段,现在不推荐使用TabActivity?

经过一些研究后得出的结论是,TabActivity已被弃用,因为我们现在必须使用片段.到目前为止,我读到的原因是,使用操作栏可以更好地处理片段,并且通过支持兼容性库,它也可以从Android 2.1开始实现

但我仍然不明白它被弃用的原因.为什么不让动作栏也适用于活动?为什么片段更喜欢?

我也看过片段有更好的表现......是什么原因?

活动至少是清晰的分离实体,这是积极的.我现在对片段没有足够的洞察力来理解为什么它们更好.

提前致谢...

android tabactivity android-fragments android-activity

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

具有BroadcastReceiver的TabActivity子活动在后台保持活动状态

我有一个名为MyTabActivity的TabActivity,其中包含我使用此代码创建的几个选项卡:

public class MyTabActivity extends TabActivity {

    public void onCreate(Bundle savedInstanceState) {
        setContentView(R.layout.my_tabs);
        tabHost = (TabHost)findViewById(android.R.id.tabhost);
        tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
        Intent intent = new Intent().setClass(this, MyTab1.class);
        setupTab(new TextView(this), "Tab1", intent);
        intent = new Intent().setClass(this, MyTab2.class);
        setupTab(new TextView(this), "Tab2", intent);
        intent = new Intent().setClass(this, MyTab3.class);
        setupTab(new TextView(this), "Tab3", intent);
    }

    private void setupTab(final View view, final String tag, Intent intent) {
        View tabview = createTabView(tabHost.getContext(), tag);
        TabHost.TabSpec setContent = tabHost.newTabSpec(tag).setIndicator(tabview).setContent(intent);
        tabHost.addTab(setContent);
    }

    private static View createTabView(final Context context, final String text) {
        View view …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver tabactivity

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

Nougat中的TransactionTooLargeException

例外

 05-12 15:42:45.791 11043-11043/ E/UncaughtException: java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 631792 bytes
                                                                       at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3776)
                                                                       at android.os.Handler.handleCallback(Handler.java:751)
                                                                       at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                       at android.os.Looper.loop(Looper.java:154)
                                                                       at android.app.ActivityThread.main(ActivityThread.java:6123)
                                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
                                                                    Caused by: android.os.TransactionTooLargeException: data parcel size 631792 bytes
                                                                       at android.os.BinderProxy.transactNative(Native Method)
                                                                       at android.os.BinderProxy.transact(Binder.java:615)
                                                                       at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:3700)
                                                                       at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3768)
                                                                       at android.os.Handler.handleCallback(Handler.java:751) 
                                                                       at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                       at android.os.Looper.loop(Looper.java:154) 
                                                                       at android.app.ActivityThread.main(ActivityThread.java:6123) 
                                                                       at java.lang.reflect.Method.invoke(Native Method) 
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757) 
05-12 15:42:47.247 11043-11043/ E/AndroidRuntime: FATAL EXCEPTION: main
                                                                Process: , PID: 11043
                                                                java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 631792 bytes
                                                                    at …
Run Code Online (Sandbox Code Playgroud)

android fragment tabactivity runtimeexception android-viewpager

5
推荐指数
2
解决办法
6021
查看次数

TabHost在开头没有显示内容

我有一个带有两个选项卡的TabActivity.活动的布局如下:

<?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"
    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">
        <ListView android:id="@+id/list"
            android:layout_width="fill_parent" android:layout_height="fill_parent" />

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

布局由ListView组成,ListView在setOnTabChangedListener()中相应地填充.填写列表并显示它没有问题.

我的问题是活动开始时列表视图没有显示,虽然我通过ID找到它并填充它; 它仅在我更改选项卡后填充.

并且onCreate(..)中的代码如下所示:

l = (ListView) findViewById(R.id.list);
l.setAdapter(new CommentsAdapter(this, (JSONArray) obj));

TabSpec spec;
    spec = tabHost.newTabSpec("0").setIndicator("0",
            res.getDrawable(R.drawable.tab_recent)).setContent(
            R.id.list);
    tabHost.addTab(spec);

    spec = tabHost.newTabSpec("1").setIndicator("1",
            res.getDrawable(R.drawable.tab_pop)).setContent(
            R.id.list);
    tabHost.addTab(spec);

    tabHost.setOnTabChangedListener(new OnTabChangeListener() {

        @Override
        public void onTabChanged(String tabId) {
            // TODO Auto-generated method stub
            int tab = Integer.valueOf(tabId);
            showDialog(WAIT_DIALOG);

            switch (tab) { …
Run Code Online (Sandbox Code Playgroud)

android tabactivity

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

选项菜单来自Android中操作栏中的Fragment

在我的应用程序中,我有一个TabActivity,我在其中使用One Activity,它有两个片段.两个片段都有选项菜单.但这些Optionss菜单没有显示在Action Bar中.我还把菜单中的项目放到"showAsAction"中.

android tabactivity android-fragments android-actionbar

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

android API TabActivity弃用

好吧,即时通讯发展与应用的API 8 TabActivity但是今天我发现," 这个类是过时了. "

那么我们应该从现在开始使用FragmentActivity来实现标签?但是当我想要展示listview活动时呢?我必须使用ListFragment(但这是"自::API级别11")

任何人都可以看到,我很困惑如何继续前进.

如果有人可以提供关于这个问题,选项卡,片段和任何其他有用的建议(AsyncTaskLoader仅用于api11?)的好的和清晰的概念,那将是很棒的.

顺便说一句,我正在阅读,fragment因为api 1可以使用,但现在我找不到.请帮忙 :(

编辑:只需重新更改标题cuz ListFragment未被弃用.如果我不想这样做,请抱歉新来的:D

android tabactivity android-fragments

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

Android如何与Fragment选项卡进行交互

你好,我很难改变片段活动的视觉观点.我创建了所有选项卡但是onClick我不知道如何将活动传递到该空白区域.

http://i40.tinypic.com/22bwxx.png

所以这个结构是一个名为的简单活动Main,它只是将内容视图设置为一个maintabholder.xml文档,该文档包含片段视图,该视图连接到一个名为MainNav其内容视图包含底部所有选项卡的类.

maintabholder.xml:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

<include layout="@layout/header" android:layout_alignParentTop="true"           android:id="@+id/headerArea"></include>
<fragment
    class="my.package.name.MainNav"
    android:id="@+id/fragment_tabs"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

MainNav.java code snippet:

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
{
    mRoot = inflater.inflate(R.layout.fragment_tabs, null);
    mTabHost = (TabHost) mRoot.findViewById(android.R.id.tabhost);
    setupTabs();
    return mRoot;
}
Run Code Online (Sandbox Code Playgroud)

和R.layout.fragment_tabs:

<?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"
android:background="#EFEFEF">

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

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:background="@drawable/tab_background"
        android:gravity="center_horizontal"
        android:layout_height="wrap_content" >
    </TabWidget>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"

            android:layout_height="wrap_content"> …
Run Code Online (Sandbox Code Playgroud)

tabs android tabactivity android-fragments

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

将TabActivity菜单与包含的"活动"菜单合并

我的应用程序的主要Activity是TabActivity,它包含一个OptionsMenu.我定义了一些其他活动(进入选项卡),我想在每个活动中定义一个菜单,并将其菜单与主菜单合并.可能吗?

tabs android menu tabactivity

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

使用TabActivity的BadTokenException ActivityGroup

我需要在我的应用程序中实现TabHost中的嵌套活动.我使用这样的ActivityGroup类:

  public class CustomActivityGroup extends ActivityGroup {

View rootView;


public static CustomActivityGroup group;


private ArrayList<View> history;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.history = new ArrayList<View>(); group = this;



      View view = getLocalActivityManager().startActivity("LoginActivity", new Intent(this,RegisterActivity.class) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
      .getDecorView();
      replaceView(view);


}

@Override
protected void onResume() {

    super.onResume();
    this.history = new ArrayList<View>();
    group = this;

}

public void replaceView(View v) {

    if (history.size() == 0) {
        if (rootView != null) {
            history.add(rootView);
            rootView = null;
        }
    }
    history.add(v);  
    setContentView(v);
}

public void …
Run Code Online (Sandbox Code Playgroud)

android nested-class fragment tabactivity activitygroup

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