热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在仪表板布局中显示特定图标?-Howtodisplayspecificiconsindashboardlayout?

Iamdevelopinganandroidapplicationinthat,Iamusingdashboardlayoutthatcontainsicons(showe

I am developing an android application in that,I am using dashboard layout that contains icons(showed in image-1).Dashboard layout is common for all the three tabs,Now my dashboard layout is looking below,

我正在开发一个Android应用程序,我正在使用包含图标的仪表板布局(在图像-1中显示)。仪表板布局对于所有三个选项卡都很常见,现在我的仪表板布局如下所示,

enter image description here Bydefaultly ,when i am login my app the invitation tab will opened as similar to above image.In that image dashboard layout have 3 icons(i.e "dropdown,event,settings") But i want to change icon on dashboard based on tab click functionality.

默认情况下,当我登录我的应用程序时,邀请选项卡将打开,类似于上面的图像。在该图像仪表板布局有3个图标(即“下拉列表,事件,设置”)但我想根据选项卡点击功能更改仪表板上的图标。

for example,

In image-2 ,"Invitation tab" need to show "settings icon" only on dashboard layout except that icon no other icon need to display when i am in "invitation tab".

在图像2中,“邀请选项卡”仅需要在仪表板布局上显示“设置图标”,除了该图标当我在“邀请选项卡”中时不需要显示其他图标。

Similarly in image-3, when i am in "event tab" i need to show "event & settings" icons in dashboardlayout.

同样在图像3中,当我在“事件选项卡”中时,我需要在dashboardlayout中显示“事件和设置”图标。

enter image description here

enter image description here

In image-4, when i am in "groupchat tab" i need to show "dropdown & settings" icons in dashboard layout.

在图像4中,当我在“群聊”选项卡中时,我需要在仪表板布局中显示“下拉列表和设置”图标。

My menu_dashboard code is below

我的menu_dashboard代码如下



    
        
            
            
            
        
    

My dashboard coding is below,

我的仪表板编码如下,


    

        

            

            
        

    

My "userdashboard activity" programming code is below,

我的“userdashboard activity”编程代码如下,

package com.ringee.app;



import android.app.ActionBar;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.FragmentTabHost;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;

import com.google.gson.Gson;
import com.ringee.app.R;
import com.ringee.app.dataobjects.MessageMO;
import com.ringee.app.utility.AppActivityStatus;
import com.ringee.app.utility.Constants;

import java.util.HashSet;
import java.util.Set;
//new header file is added
import android.widget.TabHost.OnTabChangeListener;

public class UserDashBoardActivity extends ActionBarActivity {

    /** Called when the activity is first created. */
    private static final String TAB_1_TAG = "Invitation";
    private static final String TAB_2_TAG = "Event";
    private static final String TAB_3_TAG = "GroupChat";
    private FragmentTabHost tabHost;
    private Context context;
    private SharedPreferences sharedpreferences;
    private Gson gson = new Gson();

    @Override
    protected void onStart() {
        super.onStart();
        AppActivityStatus.setActivityStarted();
        AppActivityStatus.setActivityContext(context);
    }

    @Override
    protected void onPause() {
        super.onPause();
        AppActivityStatus.setActivityStoped();

    }

    @Override
    protected void onResume() {
        super.onPause();
        AppActivityStatus.setActivityStarted();
    }

    @Override
    protected void onStop() {
        super.onStop();
        AppActivityStatus.setActivityStoped();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_user_dash_board, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.user_dash_board);
        cOntext= getApplicationContext();
        sharedpreferences = context.getSharedPreferences(Constants.SHARED_PREFERENCE_NAME,
                Context.MODE_PRIVATE);
        // Get TabHost Refference
        tabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
        tabHost.setup(this, getSupportFragmentManager(), android.R.id.tabcontent);

        tabHost.addTab(tabHost.newTabSpec(TAB_1_TAG).setIndicator("Invitation"), InvitationFragment.class, null);
        tabHost.addTab(tabHost.newTabSpec(TAB_2_TAG).setIndicator("Event"), OccasionFragment.class, null);
        tabHost.addTab(tabHost.newTabSpec(TAB_3_TAG).setIndicator("GroupChat"), GroupChatFragment.class, null);

        // Set drawable images to tab
        /*tabHost.getTabWidget().getChildAt(1).setBackgroundResource(R.drawable.ic_action_event);
        tabHost.getTabWidget().getChildAt(2).setBackgroundResource(R.drawable.ic_action_phone);

        // Set Tab1 as Default tab and change image
        tabHost.getTabWidget().setCurrentTab(0);
        tabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.ic_action_person);*/
        //invitation tab highlighted by default
        tabHost.getTabWidget().setCurrentTab(0);
        tabHost.getTabWidget().getChildAt(0).setBackgroundColor(getResources().getColor(R.color.Orange));
        tabHost.getTabWidget().getChildAt(1).setBackgroundColor(getResources().getColor(R.color.scandal));
        tabHost.getTabWidget().getChildAt(2).setBackgroundColor(getResources().getColor(R.color.scandal));


       /* if(getIntent().getExtras() != null && getIntent().getExtras().containsKey("messageMO")) {
            MessageMO messageMO = (MessageMO) getIntent().getExtras().get("messageMO");
            getIntent().getExtras().remove("messageMO");
            Log.i(Constants.TAG, "messageMo object" + messageMO.getMobileNumber());
            SharedPreferences.Editor editor = sharedpreferences.edit();
            editor.putString("messageMo",gson.toJson(messageMO));
            editor.commit();
           tabHost.setCurrentTab(2);
        }*/


        /*tabHost.setOnTabChangedListener(new OnTabChangeListener(){


            @Override
            public void onTabChanged(String tabId) {
                tabHost.getCurrentTabView().setBackgroundColor(getResources().getColor(R.color.scandal));

            }
        });*/
        //onTabChangedListener added for move one tab to others
        tabHost.setOnTabChangedListener(new OnTabChangeListener() {

            @Override
            public void onTabChanged(String arg0) {

                setTabColor(tabHost);
            }
        });


    }
    //setTabColor method added for highlighting the tabs
    public void setTabColor(FragmentTabHost tabHost) {

        for(int i=0;i

How to fix this problem please help me.

如何解决这个问题请帮帮我。

1 个解决方案

#1


0  

Use The ToolBar With Icons in the Activity and when the tab changed Customise your layout

使用工具栏中的“活动中的图标”以及更改选项卡时自定义布局





    

    

and on your Activity something like this

和你的活动这样的东西

myTabHost.setOnTabChangedListener(new OnTabChangeListener() {
        @Override
        public void onTabChanged(String tabId) {
            if (TAB_1_TAG.equals(tabId)) {
                notification.setVisibility(View.GONE);
                searchView.setVisibility(View.VISIBLE);

            }
            if (TAB_2_TAG.equals(tabId)) {
                notification.setVisibility(View.VISIBLE);
                searchView.setVisibility(View.GONE);
            }
        }
    });

推荐阅读
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
  • 技术分享:深入解析GestureDetector手势识别机制
    技术分享:深入解析GestureDetector手势识别机制 ... [详细]
  • Android 图像色彩处理技术详解
    本文详细探讨了 Android 平台上的图像色彩处理技术,重点介绍了如何通过模仿美图秀秀的交互方式,利用 SeekBar 实现对图片颜色的精细调整。文章展示了具体的布局设计和代码实现,帮助开发者更好地理解和应用图像处理技术。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
  • 为了优化直播应用底部聊天框的弹出机制,确保在不同设备上的布局稳定性和兼容性,特别是在配备虚拟按键的设备上,我们对用户交互流程进行了调整。首次打开应用时,需先点击首个输入框以准确获取键盘高度,避免直接点击第二个输入框导致的整体布局挤压问题。此优化通过调整 `activity_main.xml` 布局文件实现,确保了更好的用户体验和界面适配。 ... [详细]
  • Android ListView 自定义 CheckBox 实现列表项多选功能详解
    本文详细介绍了在Android开发中如何在ListView的每一行添加CheckBox,以实现列表项的多选功能。用户不仅可以通过点击复选框来选择项目,还可以通过点击列表的任意一行来完成选中操作,提升了用户体验和操作便捷性。同时,文章还探讨了相关的事件处理机制和布局优化技巧,帮助开发者更好地实现这一功能。 ... [详细]
  • 如何在Android应用中设计和实现专业的启动欢迎界面(Splash Screen)
    在Android应用开发中,设计与实现一个专业的启动欢迎界面(Splash Screen)至关重要。尽管Android设计指南对使用Splash Screen的态度存在争议,但一个精心设计的启动界面不仅能提升用户体验,还能增强品牌识别度。本文将探讨如何在遵循最佳实践的同时,通过技术手段实现既美观又高效的启动欢迎界面,包括加载动画、过渡效果以及性能优化等方面。 ... [详细]
  • APKAnalyzer(1):命令行操作体验与功能解析
    在对apkChecker进行深入研究后,自然而然地关注到了Android Studio中的APK分析功能。将APK文件导入IDE中,系统会自动解析并展示其中各类文件的详细信息。官方文档提供了详细的命令行工具使用指南,帮助开发者快速上手。本文以一个RecyclerView的Adapter代理开源库为例,探讨了如何利用这些工具进行高效的APK分析。 ... [详细]
  • 本文深入解析了如何通过自定义 ViewGroup 实现类似支付宝风格的酷炫雷达脉冲动画效果。文章详细介绍了自定义 ViewGroup 的原理和实现步骤,并结合实际案例展示了如何在 Android UI 设计中应用这一技术,为开发者提供了宝贵的参考和实践指导。 ... [详细]
  • 在自定义Android CheckBox时,可以通过设置 `android:button="@null"` 来隐藏默认的选择框,同时使用 `android:textColor="@drawable/selector_text"` 来实现文本选中状态的颜色变化。本文详细介绍了这两种方法的具体实现步骤,并提供了示例代码,帮助开发者更好地理解和应用这些技巧。此外,文章还探讨了其他一些常用的自定义属性和最佳实践,以提升用户体验和界面美观度。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 深入解析 Android Drawable:第六阶段进阶指南 ... [详细]
author-avatar
1042613658_047ede
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有