示例3:客户化菜单- 集成示例-App集成文档(Android)
目录

示例3:客户化菜单

创建主程序文件

按照标准方法,创建activity即可。

登陆及查看报表的接口与实现

         api参考如下
         ackage com.example.testinterface;
         import com.raq.tab.DirectoryActivity;
         import android.app.Activity;
         import android.content.Intent;
         import android.os.Bundle;
         import android.view.View;
         import android.view.View.OnClickListener;
        import android.widget.Button;
        public class Demo3 extends Activity implements OnClickListener
       {
          @Override
          protected void onCreate(Bundle savedInstanceState)
          {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.demo3);
             initViews();
           }
           private void initViews()
          {
              Button custom = (Button)findViewById(R.id.custom);
              custom.setOnClickListener(this);
           }
          @Override
          public void onClick(View v) 
         {
            testGotoResListPage(Demo1.hostdata,Demo1.userdata,Demo1.passdata);
         }
          /**
            * 跳转到展现资源列表的Activity
            * res/raw/resourcelist_menubar_config.json为示例文件
            *
            * 1.
            * 移除某些元素,tempPicter为元素在布局文件中的id名称,tempPicter为切换列表和缩图的按钮
            * "removeMenuBarItem": ["tempPicter"] 
            *
            * 2.
            * 修改某些文本的内容,id为元素在布局文件中的id名称,content为修改后的内容。这个例子能把资源列表的标题改为“我的列表”
            * "changeMenuBarIcon": [{"id":"tempValue","content":"我的列表"}]
            *
            * 3.
            * 在menu中添加按钮,
            * id为回调时用于识别按钮的标识,
            * icon为按钮图标。
            * layout_right 为相对布局用语,意思是添加的这个按钮在某个元素的右边,本例在回退按钮的右边
            * margin_left 与左边元素的间隔。与回退按钮间隔 8dp
            * 这个例子在回退按钮的右边添加一个按钮,id名称为addedBtn,图标为report(res/raw/report.png)
            * "addCustomButton":[{"id":"addedBtn","icon":"report","layout_right":"back_parent","margin_left":"8"}]
            * 
            * 4.
            * 修改menubar的背景颜色
            * "backgroundColor":"#ff0000"
            * @param hosturl 后台应用跟路径 如 http://localhost:8800/reportmis
            * @param username 用户名
            * @param password 密码
            */
         private void testGotoResListPage(String hosturl, String username,String password)
         {
               // 跳转报表目录界面
              Intent dirintent = new Intent();
              // res/raw/resourcelist_menubar_config.json为示例文件
             // 跳转到目录界面的信息,menuBarConfigFile为定制menubar信息的配置文件,需要放到res下的raw目录中.menuBarCallBack为添加按钮的回调函数
             String callbackClass = "com.example.DirlistMenuBarCallBack";
             String forwardMsg = "{\"host\": \"" + hosturl
                                   + "\",\"userName\": \""+ username
                                   + "\",\"passWord\": \""+ password
                                   + "\",\"menuBarCallBack\": \""+callbackClass
                                   + "\",\"menuBarConfigFile\": \"resourcelist_menubar_config\"}";
            dirintent.putExtra("forwardMsg", forwardMsg);
            dirintent.setClass(this,
            DirectoryActivity.class);
            this.startActivity(dirintent);
          }
      }
          package com.example;
          import android.util.Log;
          import com.raq.tab.IGezMenuBarCallBack;
          public class DirlistMenuBarCallBack implements IGezMenuBarCallBack
         {
               private static final String TAG = "DirlistMenuBarCallBack";
               public void performButtonClick(String btnid)
               {
                     Log.d(TAG,"点击的按钮是:"+btnid);
                }
           }

服务器端设置

1. 首先需要在服务器端设置资源目录的根路径。

使用浏览器进入系统后,点击移动应用设置。

 

 

这里点击设置,设置到某个资源目录即可。

 

服务器地址的问题。需要直接填写ip才可以。 

运行

登陆信息的设置,使用demo1的即可,略过。

第一个页面,点击”客户化后的资源列表”,打开报表的资源目录页面。

 

报表的资源目录页面(客户化后)。

(1) 通过删除配置,去掉了title左侧的图标。

(2) 通过修改配置,把title改成了我的列表。

(3) 通过添加配置,在回退按钮的右侧添加了一个新的图标。

(4) 通过背景修改,背景色改成了红色。