Mic*_*nes 5 android patch tabwidget
我的雇主让我在一个具有非常特定UI要求的Android应用程序上工作.具体来说,我们需要一个看起来与TabWidget接口完全相同的界面.但是,左侧的标签是绝对必须的.我们不打算将此应用程序部署到任何Android手机,它用于内部设备,因此没有任何问题违反Android平台可能具有的任何设计考虑因素.
我们已经有了一个工作原型,它使用焦点监听器和列表视图的组合来破解我们需要的功能.它不漂亮,我们对它还不是很有信心,但它暂时有用.
我们真正喜欢的是抛弃我们的所有原型UI代码,以换取使用内置的TabWidget.但是,由于TabWidget硬编码仅适用于顶部的选项卡,因此这不是一个真正的选项.
那么,我们希望有人在那里有一个补丁,或一组补丁,或者可能是一个自定义类,用侧面的选项卡处理TabWidget功能呢?
TabWidget的相关代码位于:http://www.google.com/codesearch/p? hl = en#uX1GffpyOZk/core/java/android/widget/TabWidget.java&q = android%20package:git:adminand .git.kernel.org%20lang:JAVA%20tabwidget&SA = N和CD = 1&CT = RC
以及在顶部显示标签的硬编码的特定功能是
private void initTabWidget() {
setOrientation(LinearLayout.HORIZONTAL);
mGroupFlags |= FLAG_USE_CHILD_DRAWING_ORDER;
final Context context = mContext;
final Resources resources = context.getResources();
if (context.getApplicationInfo().targetSdkVersion <= Build.VERSION_CODES.DONUT) {
// Donut apps get old color scheme
if (mLeftStrip == null) {
mLeftStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_left_v4);
}
if (mRightStrip == null) {
mRightStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_right_v4);
}
} else {
// Use modern color scheme for Eclair and beyond
if (mLeftStrip == null) {
mLeftStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_left);
}
if (mRightStrip == null) {
mRightStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_right);
}
}
// Deal with focus, as we don't want the focus to go by default
// to a tab other than the current tab
setFocusable(true);
setOnFocusChangeListener(this);
}
Run Code Online (Sandbox Code Playgroud)
如果有人有任何信息,我会非常感激.
我遇到过底部标签的问题。我最终只是复制了所有选项卡背景可绘制对象,并制作带有状态可绘制对象和文本颜色的按钮,这些按钮看起来像控制主 UI 窗格中的 ViewFlipper 来在视图之间切换的选项卡。
| 归档时间: |
|
| 查看次数: |
3323 次 |
| 最近记录: |