在AnimationDrawable显示活动时,我应该在哪里开始需要动画?
开发人员指南建议使用onWindowFocusChanged,但当活动是a的一部分时,并不总是调用此方法TabHost.
我引用:
重要的是要注意,在Activity的onCreate()方法中,无法调用在AnimationDrawable上调用的start()方法,因为AnimationDrawable尚未完全附加到窗口.如果您想立即播放动画而不需要交互,那么您可能希望从Activity中的onWindowFocusChanged()方法调用它,当Android将窗口置于焦点时将调用它.
看来TabActivity现已弃用,我们需要使用Fragments.
我尝试使用标准的Activity但无法调用getTabHost.
所以看来我必须使用Fragments.但我有点困惑这是如何工作的.
我知道片段不是活动所以它们不在清单文件中?
所以我认为我不能对片段做startActivity?
有没有人知道解释tabHost和Fragments的一个很好的例子,我发现的所有例子和教程都只使用了tabactivity.
提前致谢
我发现了一些与此问题有关的讨论,但没有明确或明确的.
构建基于选项卡的应用程序,似乎不得不在(A)使用TabHost与每个屏幕的活动和(B)为每个屏幕使用带有碎片的ActionBar之间进行选择.这引出了一些问题:
1)这是真实的困境,还是可以使用具有不同活动的ActionBar.
2)如果困境是真实的,那么为什么这样设置?Google是否计划弃用TabHost以及基于标签的导航的多活动方法?多活动方法有什么不利之处吗?
3)如果两种方法都将继续得到支持,每种方法的优缺点是什么?如果我选择ActionBar + Fragments,我会遇到任何陷阱吗?例如,当我希望我的一个选项卡式屏幕滑过/弹出一个额外的屏幕/片段时,我是否会在ActionBar中切换到/从选项卡切换到有趣的行为?
问候,
我在点击TabActivity当前选中的标签时尝试获取Click - 事件.只有在更改选项卡时才会调用onTabChangedHandler,而不是在单击当前活动的选项卡时调用.调试器告诉我在TabHost中为TabWidget注册了onClickListener.
我在注册错误的视图吗?
此外,我无法为选项卡创建上下文菜单,仅针对其内容,这个问题是否相关?
public class TestDroidViewTab extends TabActivity
implements TabContentFactory
, OnTabChangeListener, OnClickListener {
private static final String LOG_KEY = "TEST";
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final TabHost tabHost = getTabHost();
TabHost.TabSpec ts = tabHost.newTabSpec("ID_1");
ts.setIndicator("1");
ts.setContent(this);
tabHost.addTab(ts);
ts = tabHost.newTabSpec("ID_2");
ts.setIndicator("2");
ts.setContent(this);
tabHost.addTab(ts);
ts = tabHost.newTabSpec("ID_3");
ts.setIndicator("3");
ts.setContent(this);
tabHost.addTab(ts);
tabHost.setOnClickListener(this);
tabHost.setOnTabChangedListener(this);
}
public void onClick(View v) {
Log.d(LOG_KEY, "OnClick");
}
public void onTabChanged(String tabId) {
Log.d(LOG_KEY, "OnTabChanged");
}
Run Code Online (Sandbox Code Playgroud) 我一直在尝试从谷歌实现'高级' tabwidget示例.但是,当它试图调用时,tabHost.addTab(spec);我从调试器获得堆栈跟踪.对不起,我没有这里的堆栈跟踪,但我想知道其他人是否有同样的问题(因为这段代码有很多错字和缺少的信息阻止我甚至编译.
有人能指出我这个代码的更正/运行版本吗?
所需的更新信息是:
<activity android:name=".ArtistsActivity"></activity>
<activity android:name=".AlbumsActivity"></activity>
<activity android:name=".SongsActivity"></activity>
Run Code Online (Sandbox Code Playgroud) 我一直在尝试实现本教程中描述的选项卡UI:https://developer.android.com/resources/tutorials/views/hello-tabwidget.html
我按照说明的过程中的所有步骤,但我不断收到有关每个选项卡的内容运行时异常我相信这事做,没有一个地方在教程中,我添加了额外的活动(歌曲,艺术家和专辑)的事实进入android清单文件.
我对么?本教程(像许多其他人一样)是错误还是不完整?
Android TabHost的默认样式适用于直接Android系统.但是,在HTC Sense上,他们在深色背景上使用暗文本,这是不可读的.

有一个TabHost最简单的方法是在所有各种各样的android皮肤上都有可见的文本?如果可能的话,我宁愿不必做出完全自定义的外观.
我的targetSDK是10,而我的minSDK是7.
我有个问题:
Java代码
public class VisualizzaListaActivity extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Reusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, DaAcquistareActivity.class);
// Initialize a TabSpec for each tab and add it to the …Run Code Online (Sandbox Code Playgroud) 我正在尝试用两个标签在android中做一个简单的标签应用程序.我的问题是,当我把这个代码放在选项卡中时,只显示文本,但没有显示图标.如果我将文本放到"",则显示图标.
有人能帮助我吗?我的Android版本是4.0.3.
非常感谢.
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+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" >
<TabWidget android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@android:id/tabs" />
<FrameLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@android:id/tabcontent" >
<LinearLayout android:id="@+id/tab1"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView android:id="@+id/textView1"
android:text="Contenido Tab 1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:id="@+id/tab2"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView android:id="@+id/textView2"
android:text="Contenido Tab 2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud)
而活动代码是
public class TabTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle …Run Code Online (Sandbox Code Playgroud) 快问,什么是actionbar和tabhost之间的区别.我曾经使用tabhost并为其添加标签.
然后我被要求使用操作栏并阅读它,它似乎只是另一种方式有标签.那么什么时候会使用?有什么不同
谢谢
android ×10
android-tabhost ×10
android-4.0-ice-cream-sandwich ×1
animation ×1
drawable ×1
htcsense ×1
manifest ×1
onclick ×1
tabs ×1