- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一种情况需要创建一个左侧面板。我的经理说这应该像 中使用的一样影视谷歌电视设备上的应用程序,它最初只显示图标,并在内容上扩展到右侧,当它获得焦点时也显示图标的文本。
我希望标签如下图所示(白色框是我的链接,红色框是我的左侧面板):
可以查看放大的图像here
我对左侧面板的要求是:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!--
THIS First TabHost IS NOT USED AT ALL.
I JUST PUT IT HERE AS THE underlying TabActivity required it and was giving me error.
You can see its visibility is set to GONE.
You can just minimize it and forget it as its a silly Workaround.
and help me if you know of some better way
-->
<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="100dp"
android:layout_height="fill_parent"
android:layout_weight="0"
android:orientation="vertical" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1" />
</LinearLayout>
</TabHost>
<!--
Activities are loaded here in this frame.
Its margin from Left is set to 150dp to have space.
Its placed on the first place as the second RelativeLayout would be used as Left Panel.
-->
<FrameLayout
android:id="@+id/container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="150dp"
android:nextFocusLeft="@+id/leftpanel"
android:background="#CCAAAA" >
</FrameLayout>
<!--
Left Panel holding links/buttons etc to load a separate activity in above FrameLayout
-->
<RelativeLayout
android:id="@+id/leftpanel"
android:layout_width="200dp"
android:layout_height="fill_parent"
android:background="#33FAFAFA"
android:focusable="True"
android:orientation="vertical" >
<Button
android:id="@+id/btnArtists"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Artists" >
</Button>
<Button
android:id="@+id/btnAlbum"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/btnArtists"
android:text="Album" >
</Button>
<Button
android:id="@+id/btnLogin"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="True"
android:text="Login" >
</Button>
</RelativeLayout>
public class TestActivity extends TabActivity {
FrameLayout container;
Intent artistsIntent;
Intent albumsIntent;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
container = (FrameLayout)findViewById(R.id.container);
artistsIntent = new Intent().setClass(this, ArtistsActivity.class);
albumsIntent = new Intent().setClass(this, AlbumsActivity.class);
Button btnArtist = (Button)findViewById(R.id.btnArtists);
btnArtist.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
container.removeAllViews();
View view = getLocalActivityManager().startActivity("ArtistsActivity",
new Intent(getApplicationContext(), ArtistsActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
container.addView(view);
}
});
Button btnlbum = (Button)findViewById(R.id.btnAlbum);
btnlbum.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
container.removeAllViews();
View view = getLocalActivityManager().startActivity("AlbumsActivity",
new Intent(getApplicationContext(), AlbumsActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
container.addView(view);
}
});
}
}
正如你所看到的,主要的 TestActivity 是一个
TabActivity 它提供了实现选项卡的功能。我从
扩展了我的 Activity TabActivity 因为,据我所知,这是将 Activity 作为 subview 添加到 FrameLayout 的唯一方法。
最佳答案
如果我没记错的话,您正在寻找 Left Navigation Bar Library由 Google 专门为此目的而提供。
另请参阅提供的 sample code for using it .
关于android - 创建一个 Android 左侧面板,就像 google tv 中 "TV & Movies"应用程序中的面板一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8862924/
我为 Android TV 开发了一个应用程序并发布了。我想知道有多少用户直接在他们的电视上运行该应用程序以及有多少用户使用电视盒。 有没有办法以编程方式检测我的应用程序是否在 Android TV
有没有办法在我的 Android 应用程序代码中检测到这一点?我想区分“盒子类型”(例如 NSZGS7,不带显示器)和内置电视类型(NSXGT1,带显示器)googleTV 设备。是否有可用于此区分的
我想重新加载浏览片段中的一些行数据。 基本上,我想重置适配器数据,而不会在浏览片段中造成类似闪存的效果。知道如何做到吗? 类似于 ListView 中的notifyDataSetChanged()。
有没有办法获取与用户在设置 Google 电视盒时提供的邮政编码相对应的纬度和经度? 最佳答案 根据 Google 的 Christian Kurzke 在 AnDevCon II 上的演示,您使用:
我需要查看我的 androidTV 应用程序发出的后端 https 请求,但是,由于调用是“https”调用,我需要安装一个查尔斯证书(在我的 androidTV 上)以允许查尔斯解密它们。 如果有人
我的 HoneyComb 应用程序在平板电脑和 Google TV 上运行。我在我的设置片段中设置了发送电子邮件,但它返回“没有应用程序可以处理此功能”的错误。 如果没有可用的客户端 (createC
在 1080p 模拟器和智能电视 (nVidia Shield) 上,我只能获得 960x540 WebView。是否可以使用可用的整个分辨率? 最佳答案 使用 Android TV 的 HDTV 被
我正在使用 PlayFragment 在 AndroidTV 中播放视频。我想隐藏播放/暂停/快进/进度条等控件。 我该怎么做? 如果有人知道,请帮忙。我正在使用以下示例: [https://gith
我正在使用 PlayFragment 在 AndroidTV 中播放视频。我想隐藏播放/暂停/快进/进度条等控件。 我该怎么做? 如果有人知道,请帮忙。我正在使用以下示例: [https://gith
我想在我的 Android TV 应用中通过 URL 播放 MP4 视频。 我在示例代码 ( https://github.com/googlesamples/androidtv-Leanback )
我如何检测 Apple TV 上的节目? 我已经尝试检测屏幕数量: [[UIScreen screens] count] 但它仍然是 1。 我也试过听一个事件: [[NSNotificatio
运行新 Apple tvOS 操作系统(我认为是基于 iOS)的 Apple TV 的用户代理字符串是什么?他们是否将自己报告为“iOS”设备? 最佳答案 Apple TV 不支持 WebKit 框架
我想为 Android 和 iOS 创建视频流应用程序,它也需要在 Android 和 Apple TV 或至少在 Android TV 上运行。 最佳答案 2021 年 4 月更新 适用于 Andr
我使用 Leanback Library 开发了一个应用程序。该应用程序在 Sony Android TV 上运行良好。 但是当我在 play store 上成功发布应用程序时,当我在我的 Sony
我已成功打开 SSL/TLS 连接以进行配对,并已来回发送所有必需的消息。我在将 secret 发送到 GTV 时遇到了问题。出于某种原因,它通过发回状态为 BadSecret 的消息说我的 secr
我尝试将 ADB 命令从我的 Android 移动设备 (SGS5) 发送到我的 Android TV (Nvidia Shield TV)。我总是得到: error:device offli
任何人都知道如何实现标题中的问题?目的是避免在单击标题后导致标题栏消失的动画,因为 Leanback 应用程序会放大行项目。 setHeadersState BrowseSupportFragment
我正在尝试弄清楚如何通过软件命令而不是 Remote 上的按钮触发 Google TV 中的画中画功能。据我所知,目前 API 中没有任何内容可以让我执行此操作。所以,有两个问题: 有人尝试过破解来实
我有一个要求,当新版本可用时,我需要强制升级我的 Apple TV 应用程序。但与移动应用程序不同,AppleTv 没有 Safari 来在我的应用程序中打开 Web View 。我如何从我的 App
我们最近开始开发 Android TV,我们需要连接 charles 代理工具以简化开发过程。我们能够使用相同的 wifi 连接在电视上设置代理。 但我们无法在 Android tv 中安装 char
我是一名优秀的程序员,十分优秀!