当前位置:  编程技术>移动开发
本页文章导读:
    ▪设立全屏        设置全屏 1.编程方式 public void setFullScreenMethod1(boolean isFullScreen) { if (isFullScreen) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); } else { getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_.........
    ▪ Sencha第二章 格局(1)Box布局        Sencha第二章 布局(1)Box布局 Sencha Touch里的布局有五种 o hbox o vbox o card o fit o auto[默认] 实际上可以分为Box布局和Fit布局两种。 Sencha touch里的布局应该理解为:该控件内部子项的排.........
    ▪ 施用inflater实现窗体布局       使用inflater实现窗体布局 /* 传统的方式 */ // setContentView(R.layout.main); /* inflater方式 */ LayoutInflater inflater = LayoutInflater.from(Inflate.this);// 生成inflater对象 LinearLayout mainFrame = (LinearLayout) inflat.........

[1]设立全屏
    来源: 互联网  发布时间: 2014-02-18
设置全屏

1.编程方式

public void setFullScreenMethod1(boolean isFullScreen) {
	if (isFullScreen) {
		getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
	} else {
		getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
		//也可以用下面的清除Flag
		//getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
	}
}
public void setFullScreenMethod2(boolean isFullScreen) {
	if (isFullScreen) {
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 

WindowManager.LayoutParams.FLAG_FULLSCREEN);
	} else {
		getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
	}
}

 

2.配置theme方式

也可以在AndroidMenifest.xml中配置。在application或者activity元素中加上下面属性

<activity android:name="XXX" android:theme="@android:style/Theme.NoTitleBar" />
<activity android:name="XXX" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
 

3.用style方法

在styles.xml文件中定义下面style

<style name="FullScreenTheme">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

在 AndroidMenifest.xml使用

<activity android:name="XXX" android:theme="@android:style/FullScreenTheme" />
 

 


    
[2] Sencha第二章 格局(1)Box布局
    来源: 互联网  发布时间: 2014-02-18
Sencha第二章 布局(1)Box布局

Sencha Touch里的布局有五种

o hbox

o vbox

o card

o fit

o auto[默认]

实际上可以分为Box布局和Fit布局两种。

Sencha touch里的布局应该理解为:该控件内部子项的排列方式。

我们今天先来看看box布局

 

Box布局

  顾名思义,box布局就是一个个的box组成的。

    hbox: 水平排列、垂直居中、靠左置顶

    vbox: 竖直堆叠、水平居中、靠上置顶

 

hbox:

hbox
Ext.setup({
    tabletStartupScreen: 'tablet_startup.png',
    phoneStartupScreen: 'phone_startup.png',
    icon: 'icon.png',
    glossOnIcon: false,
    onReady : function() {
        var pnl = new Ext.Panel({
            fullscreen: true,
            layout: 'hbox',
            items:[
                {xtype:'button',text:'按钮1'},
                {xtype:'button',text:'按钮2'},
                {xtype:'button',text:'按钮3'}
            ]
        });
    }
});

 

 

vbox:

  将以上的hbox改为vbox

 

  但是,只是知道这些,还不足以玩转box布局,下面让我们看看其他常见的box布局实例。

vbox变型:

vbox变型
Ext.setup({
    tabletStartupScreen: 'tablet_startup.png',
    phoneStartupScreen: 'phone_startup.png',
    icon: 'icon.png',
    glossOnIcon: false,
    onReady : function() {
        var pnl = new Ext.Panel({
            fullscreen: true,
            layout: 'vbox',
            defaults: {
                flex: 1
            },
            items:[
                {xtype:'button',text:'按钮1'},
                {xtype:'button',text:'按钮2'},
                {xtype:'button',text:'按钮3'}
            ]
        });
    }
});

  关于这里的flex,sencha Touch使用了css3中的弹性和模型,所以大家如果有兴趣可以看看 扩展阅读:css3中的弹性盒模型

 

vbox变型2:

  在上面代码的defaults中加入width : '100%',得到下图

 

  了解以上内容之后,我们来想想经典的九宫格布局如何实现吧!

  相必大家也已经心中有数了。

 

经典的九宫格布局:

九宫格
Ext.setup({
    tabletStartupScreen: 'tablet_startup.png',
    phoneStartupScreen: 'phone_startup.png',
    icon: 'icon.png',
    glossOnIcon: false,
    onReady : function() {
        var pnl = new Ext.Panel({
            fullscreen: true,
            layout: 'vbox',
            defaults: {
                flex: 1,
                width: '100%',
                defaults: {
                    flex: 1,
                    height: '100%'
                }    
            },
            items:[{
                xtype: 'panel',
                layout: 'hbox',
                items:[
                    {xtype:'button',text:'按钮1'},
                    {xtype:'button',text:'按钮2'},
                    {xtype:'button',text:'按钮3'}
                ]
            },{
                xtype: 'panel',
                layout: 'hbox',
                items:[
                    {xtype:'button',text:'按钮4'},
                    {xtype:'button',text:'按钮5'},
                    {xtype:'button',text:'按钮6'}
                ]
            },{
                xtype: 'panel',
                layout: 'hbox',
                items:[
                    {xtype:'button',text:'按钮7'},
                    {xtype:'button',text:'按钮8'},
                    {xtype:'button',text:'按钮9'}
                ]
            }]
        });
    }
});

 


 

  嫌紧挨着不舒服?别急,我们还有些属性没用上!你没有猜错那就是-----margin、padding!你知道怎么做的!

 

松散九宫格:

松散九宫格
Ext.setup({
    tabletStartupScreen: 'tablet_startup.png',
    phoneStartupScreen: 'phone_startup.png',
    icon: 'icon.png',
    glossOnIcon: false,
    onReady : function() {
        var pnl = new Ext.Panel({
            fullscreen: true,
            layout: 'vbox',
            defaults: {
                flex: 1,
                width: '100%',
                padding: 10,
                defaults: {
                    flex: 1,
                    height: '100%',
                    margin: 10
                }    
            },
            items:[{
                xtype: 'panel',
                layout: 'hbox',
                items:[
                    {xtype:'button',text:'按钮1'},
                    {xtype:'button',text:'按钮2'},
                    {xtype:'button',text:'按钮3'}
                ]
            },{
                xtype: 'panel',
                layout: 'hbox',
                items:[
                    {xtype:'button',text:'按钮4'},
                    {xtype:'button',text:'按钮5'},
                    {xtype:'button',text:'按钮6'}
                ]
            },{
                xtype: 'panel',
                layout: 'hbox',
                items:[
                    {xtype:'button',text:'按钮7'},
                    {xtype:'button',text:'按钮8'},
                    {xtype:'button',text:'按钮9'}
                ]
            }]
        });
    }
});


    
[3] 施用inflater实现窗体布局
    来源: 互联网  发布时间: 2014-02-18
使用inflater实现窗体布局
/* 传统的方式 */
  // setContentView(R.layout.main);
  
  /* inflater方式 */
  LayoutInflater inflater = LayoutInflater.from(Inflate.this);// 生成inflater对象
  LinearLayout mainFrame = (LinearLayout) inflater.inflate(R.layout.main,null);// 找到窗体的布局文件

  LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
  this.addContentView(mainFrame, params);

 

通俗的说,inflate就相当于将一个xml中定义的布局找出来.

因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件.

因此如果你的Activity里如果用到别的layout,比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片ImageView,文字TextView)上的内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去找到它上面的组件,如:
    Viewview=View.inflate(this,R.layout.dialog_layout,null);
    TextViewdialogTV=(TextView)view.findViewById(R.id.dialog_tv);
    dialogTV.setText("abcd");

如果组件R.id.dialog_tv是对话框上的组件,而你直接用this.findViewById(R.id.dialog_tv)肯定会报错.

三种方式可以生成LayoutInflater:
    

LayoutInflaterinflater=LayoutInflater.from(this);
    LayoutInflaterinflater=getLayoutInflater();
   LayoutInflaterinflater=(LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);

 

然后调用inflate方法将xml布局文件转成View
    publicViewinflate(intresource,ViewGrouproot,booleanattachToRoot)

在View类中,也有inflate方法
    publicstaticViewinflate(Contextcontext,intresource,ViewGrouproot)

举个例子:通过Inflater加载窗体布局文件

 

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
.net/c#/asp.net iis7站长之家
▪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