示例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) 通过背景修改,背景色改成了红色。