当前位置:  编程技术>移动开发
本页文章导读:
    ▪Fragment 反正屏切换时加载不同的布局        Fragment 横竖屏切换时加载不同的布局1、创建两个FragmentActivity 让它继承 Fragment ,这里最低版本为11  package com.example.fragment; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflate.........
    ▪ Unity3d iGUI 运行时平添动画组件        Unity3d iGUI 运行时添加动画组件iGUI插件似乎国人都不使用该插件,或许是太简单了。相对于NGUI个人感觉还是挺不错的!我们来看看老外们 使用iGUI的案例吧: ok!我们进入主题: 我们在游戏.........
    ▪ 你们对LinearLayout线性格局中Layout_weight的误解       你们对LinearLayout线性布局中Layout_weight的误解帮人找个入门级别的书得负责任,自己先看一下有无缺陷,结果发现这个:(原文发在该书的论坛上,发现受众面太小了,无奈转到这个弃用很久.........

[1]Fragment 反正屏切换时加载不同的布局
    来源: 互联网  发布时间: 2014-02-18
Fragment 横竖屏切换时加载不同的布局

1、创建两个FragmentActivity 让它继承 Fragment ,这里最低版本为11 

package com.example.fragment;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragment1 extends Fragment {
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		return inflater.inflate(R.layout.activity_fragment1, null);
	}
}


package com.example.fragment;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragment2 extends Fragment {
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		return inflater.inflate(R.layout.activity_fragment2, null);
	}
}

2、创建两个.xml 文件,用来显示屏幕切换时所用到的布局


activity_fragment1.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/ic_launcher"
    tools:context=".MainActivity" >
 

</RelativeLayout>
activity_fragment2.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0000ff"
    tools:context=".MainActivity" >
 

</RelativeLayout>


3、在程序中调用 

package com.example.fragment;

import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		int windowHeight = this.getResources().getDisplayMetrics().heightPixels; //获取当前屏幕的高
		int windowWidth = this.getResources().getDisplayMetrics().widthPixels; //获取当前屏幕的宽
		
		Fragment1 f1 = new Fragment1();
		Fragment2 f2 = new Fragment2();
		
		FragmentManager fm = getFragmentManager();
		FragmentTransaction ft = fm.beginTransaction();
		if(windowWidth > windowHeight){ 			//横屏
			ft.replace(android.R.id.content, f1); //是横屏的时候显示f1的布局
		}else {
			ft.replace(android.R.id.content, f2); //显示f2 中的布局
			
		}
		ft.commit();
	}

 
}



    
[2] Unity3d iGUI 运行时平添动画组件
    来源: 互联网  发布时间: 2014-02-18
Unity3d iGUI 运行时添加动画组件

iGUI插件似乎国人都不使用该插件,或许是太简单了。相对于NGUI个人感觉还是挺不错的!我们来看看老外们

使用iGUI的案例吧:



ok!我们进入主题:

我们在游戏开发中呢,难免会使用动画效果。当然iGUI内置的动画系统可以让我们进行拖拽组件实现,有的时候

我们也希望通过代码在运行时添加动画效果。这样做的好处是不言而喻的!

琢磨一番,我们可以使用如下的代码实现这样的效果:

代码样例:


把脚本拖拽到一个gameobject上,Play一下

前提是:你的场景中需要添加iGUIButton才有效果!

层级视图中new 出来的对象


最后效果如下:


结束语:

Enjoy!



    
[3] 你们对LinearLayout线性格局中Layout_weight的误解
    来源: 互联网  发布时间: 2014-02-18
你们对LinearLayout线性布局中Layout_weight的误解

帮人找个入门级别的书得负责任,自己先看一下有无缺陷,结果发现这个:(原文发在该书的论坛上,发现受众面太小了,无奈转到这个弃用很久的博客里,以后把心得慢慢发上来)


Google Android开发入门与实战,第二版,P104倒数第七行括弧内容:(layout_weight越小权重越大)。



SDK中的原话:Indicates how much of the extra space in the LinearLayout will be allocated to the view associated with these LayoutParams. Specify 0 if the view should not be stretched. Otherwise the extra pixels will be pro-rated among all views whose weight is greater than 0.


这是什么意思呢?主要是两个关键点:extra space和pro-rated among all views,额外的空间和大小比例


说到额外的空间,不得不提另外几个属性,假设LinearLayout的android:orientation="horizontal",即水平分布,在三个控件的存在情况下,其layout_weight属性值分别为122(单个控件在某些情况下会标警示黄线,请自己尝试):


第一种情况:每个控件的宽度属性都为android:layout_width="0dp",那么额外的空为(手机的宽度假设为X)X-0-0-0=X,那么根据sdk上所述:
第一个控件的宽度为 0+(1/(1+2+2))*X=X/5
第二个控件的宽度为 0+(2/(1+2+2))*X=2X/5
第三个控件的宽度为 0+(2/(1+2+2))*X=2X/5


第二种情况:每个控件的宽度属性都为android:layout_width="match_parent",那么额外的空间就是X-X-X-X=-2X
第一个控件的宽度为 X+(1/(1+2+2))*(-2X)=3X/5
第二个控件的宽度为 X+(2/(1+2+2))*(-2X)=X/5
第三个控件的宽度为 X+(2/(1+2+2))*(-2X)=X/5


第三种情况:其中第一个控件宽度属性为android:layout_width="match_parent",其他两个控件宽度为android:layout_width="0dp",额外的空间为X-X-0-0=0
第一个控件的宽度为 X+(1/(1+2+2))*0=X
第二个控件的宽度为 0+(2/(1+2+2))*0=0
第三个控件的宽度为 0+(2/(1+2+2))*0=0


第四种情况:第一个和第二个控件宽度属性为android:layout_width="match_parent",第三个控件宽度为android:layout_width="0dp",这个大家自己动手算算,结果很有趣。


最终结论:layout_weight的公式


控件的宽度(高度)=控件的width(height)值+(该控件的weight值/所有控件的weight的和)×额外的空间


额外的空间=手机的宽度(高度)-所有控件的宽度(高度)


有质疑的可以自己去写个代码尝试一下,希望都能踏踏实实的学习、工作,少点人云亦云,有自己的思想,网络上有关layout_weight的文章大部分都是错误的,希望本帖可以帮助一部分人。











1楼u011489615昨天 15:06哥,你太厉害了。我昨天才查这个问题,今天就给解决了,掉渣天啊。。

    
最新技术文章:
▪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