当前位置:  编程技术>移动开发
本页文章导读:
    ▪NGUI v2.0 Interaction_26:UITable UI报表类        NGUI v2.0 Interaction_26:UITable UI表格类UITable     UITable Class Reference UITable类引用 All children added to the game object with this script will be arranged into a table with rows and columns automatically adjusting their size to fit .........
    ▪ Hello Bada!详解之4:Bada UI的布局        Hello Bada!详解之四:Bada UI的布局如何布局 在Bada项目的目录结构中提到了/Res目录,我们的UI布局文件就在这里,见下图: 双击IDF_BUDDYFIXFORM.xml,打开UI Builder(默认是用Form Editor打开),如图.........
    ▪ 应用include复用布局文件       使用include复用布局文件如果一个layout可能需要被多次复用,比如多view或者多activity的应用中,需要保持打头的标题栏在各个view或activity中保持不变,这时候可以把这个标题栏在各个布局文件.........

[1]NGUI v2.0 Interaction_26:UITable UI报表类
    来源: 互联网  发布时间: 2014-02-18
NGUI v2.0 Interaction_26:UITable UI表格类

UITable

 

 

UITable Class Reference

UITable类引用

All children added to the game object with this script will be arranged into a table with rows and columns automatically adjusting their size to fit their content (think "table" tag in HTML).More...

所有添加到拥有该脚本的游戏对象   将被安排到含行和列的表格    以自动调整大小来适应他们的内容 (想象HTML中的“Lable”标签)。更多…

 

List of all members.

Public Member Functions公共成员函数 void  Reposition ()   Reposition all elements in the grid.
重定位网格中的所以元素 Static Public Member Functions静态公共成员函数 static int  SortByName (Transform a, Transform b)   Function that sorts items by name.
据名字排序项目的函数。 Public Attributes公共属性 int  columns = 0 Vector2  padding = Vector2.zero bool  sorted = false bool  hideInactive = true bool  repositionNow = false bool  keepWithinPanel = false Detailed Description详细描述

All children added to the game object with this script will be arranged into a table with rows and columns automatically adjusting their size to fit their content (think "table" tag in HTML).

所有添加到拥有该脚本的游戏对象   将被安排到含行和列的表格    以自动调整大小来适应他们的内容 (想象HTML中的“Lable”标签)。 Member Function Documentation成员函数文档
void UITable.Reposition (   )  

Reposition all elements in the grid. 重定位网格中的所以元素

static int UITable.SortByName ( Transform  a,     Transform  b    )   [static]

Function that sorts items by name. 据名字排序项目的函数。

The documentation for this class was generated from the following file:
  • Assets/NGUI/Scripts/Interaction/UITable.cs


    
[2] Hello Bada!详解之4:Bada UI的布局
    来源: 互联网  发布时间: 2014-02-18
Hello Bada!详解之四:Bada UI的布局

如何布局

在Bada项目的目录结构中提到了/Res目录,我们的UI布局文件就在这里,见下图:


双击IDF_BUDDYFIXFORM.xml,打开UI Builder(默认是用Form Editor打开),如图:


如你亲眼所见,这是个可以拖拽的UI布局。之前一直在做Android,界面布局都是手写的,直到Android4.1发布后最新的UI工具才有比较舒服的拖拽布局。

这种所见即所得的布局方式起源于VB,在WM、iPhone上都可以看到它的影子。找到布局文件下面的properties,在这里可以设置样式(style)、布局(layout)、

属性(properties)、事件处理(eventHandler)及弃用项(deprecated)。

Form的属性:

1、样式:Footer、Header和Indicator

下面来设置一下不要indicator,显示Header和Footer:


模拟器中显示为:


正如你所看到的,Indicator(屏幕最上面的显示信号、电量的bar)不见了,程序变成了全屏。而Footer上没有任何东西。

2、布局:布局的样式有NONE、LAYOUT_RELATIVE、LAYOUT_VERTICAL_BOX、LAYOUT_HORIZONTAL_BOX和LAYOUT_GRID

3、属性:ID、背景色、水平方式、Header、Footer等是否透明

4、事件处理:这里添加相关的事件Handler

5、弃用项:设置一些Form相关的按钮等。


Button的属性:

1、Style:在模拟器中看到Button的文字在中间显示,这是通过设置Style下的Text Horizontal Align与Text Vertical Align来实现的,如下图:


2、Layout:Button的布局还是很讲究的,这与其他控件的布局类似,会设置了Button,其他的就会融汇贯通。布局概览如下:


首先,Parent Name是选择Button在哪个容器上,这里只有一个Form,当然就是它了。而Height和Width是设置高和宽的。

下面说说几个互斥的属性:

居中属性:Center Horizontal和Center Vertical。

绝对坐标:X Position和Y Position。

设置了Center Horizontal为true,那么X Position属性就不可用(灰色状态)。

同样,设置Center Vertical为true,那么Y Position属性不可用。

靠边属性:有四个靠边属性,分别是上下左右。注意:如果居中属性设置了,靠边属性是可以设置的,只是不能显示出来,优先级不高。

一个Edge Relation Target跟着一个Edge Relation Type。

余量属性:四个靠边属性对应着四个余量属性,Margin Bottom等等。

下面演示一下靠下属性和余量属性配合:


UI显示:


3、属性:

重要的Name:起一个容易懂的名字有指导性。

Text:button上面显示的文字。

Text Size:文字的大小。

其他属性与颜色和bitmap有关,就不一一介绍了。

4、事件处理:

这里只用到了ActionEvent。

其他Editor

刚刚是用Form Editor打开Form.xml文件,其实还可以用Text Editor和Xml Editor打开编辑,这样就不是所见即所得的UI 布局了,和原来的Android布局非常相似,有兴趣你可以尝试一下。

与代码连接:

介绍完了布局,那么一个重要的问题是:在程序中如何控制UI的属性呢?

自然不自然的,让我联想到Android中的做法了:声明一个控件如Button,用系统提供的findViewById来找到定义在xml文件中Button。

比如:

private Button okButton;   

    @Override    
    public void onCreate(Bundle savedInstanceState) {     
        super.onCreate(savedInstanceState);     
        setContentView(R.layout.main); 
okButton = (Button)  findViewById(R.id.btnOk);  
}
同样的,Bada在Form类的声明一个控件,然后加载Form的xml文件,用系统提供的GetControl来找到xml文件中的控件。

这一切是多么的相似呢?是偶然还是必然?

Form头文件:

// Implementation  
protected:  
    static const int ID_BUTTON_OK = 101;  
    Osp::Ui::Controls::Button *__pButtonOk;  
    Osp::Ui::Controls::Label *__pLabel;  
实现:

bool  
HelloworldForm::Initialize()  
{  
    // Construct an XML form  
    Construct(L"IDF_HELLOWORLDFORM");  
  
    return true;  
}  
  
result  
HelloworldForm::OnInitializing(void)  
{  
    result r = E_SUCCESS;  
  
    // TODO: Add your initialization code here  
  
    // Get a button via resource ID  
    __pButtonOk = static_cast<Button *>(GetControl(L"IDC_BUTTON_OK"));  
    if (__pButtonOk != null)  
    {  
        __pButtonOk->AddTouchEventListener(*this);  
        __pButtonOk->SetActionId(ID_BUTTON_OK);  
        __pButtonOk->AddActionEventListener(*this);  
    }  
    //Get a label  
    __pLabel = static_cast<Label *>(GetControl(L"IDC_LABEL1"));  
    return r;  
}  

Button的事件处理:

void
BuddyFixForm::OnActionPerformed(const Osp::Ui::Control& source, int actionId)
{
	switch(actionId)
	{
	case ID_BUTTON_OK:
		{
			AppLog("OK Button is clicked! \n");
		}
		break;
	default:
		break;
	}
}

到此,Bada详解就到一段落。通过这个例子大致了解到了Bada应用的基本知识和开发流程,透过这个例子,希望可以让你步入Bada应用开发的大门。


    
[3] 应用include复用布局文件
    来源: 互联网  发布时间: 2014-02-18
使用include复用布局文件

如果一个layout可能需要被多次复用,比如多view或者多activity的应用中,需要保持打头的标题栏在各个view或activity中保持不变,这时候可以把这个标题栏在各个布局文件里重复写一遍,但是最好的方法是使用include复用,以减少重复的布局内容,以下是一个例子:

layout_buttom.xml中存放一个应用位于底部的功能区,这个功能区在切换activity或view时是不变的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content">
<Button android:id="@+id/btqq" 
android:layout_width="wrap_content" 
android:text="功能1"
android:layout_height="40dip">
</Button>
<Button android:id="@+id/btjq" 
android:layout_width="wrap_content" 
android:text="功能2"
android:layout_height="40dip">
</Button>
</LinearLayout>

layout_main.xml是主界面,也是底部放置了功能区的界面之一:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:weightSum="1" android:orientation="vertical">
<LinearLayout android:id="@+id/AdLinearLayout"             
android:layout_width="fill_parent"             
android:layout_height="wrap_content"             
android:gravity="center_horizontal"/>

<FrameLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1">
........
</FrameLayout>
<include layout="@layout/layout_buttom"/>
</LinearLayout>


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3