当前位置:  编程技术>移动开发
本页文章导读:
    ▪Fragment兑现两栏展示        Fragment实现两栏展示现在Fragment被使用的也比较多了,官方也在推荐使用Fragment,尤其是平板上开发显得非常的方便,这里我是在手机里展示的,可以先看一下效果图。 实现也是比较的简单.........
    ▪ Untiy3d AR(容易实现)        Untiy3d AR(简单实现)感觉ar挺好玩的、所以研究了一下、简单的说一下吧、首先去官网下载sdk我用的是untiy3d、下载地址:https://developer.vuforia.com/resources/sdk/unity,虽然不大、但是下载速度太慢.........
    ▪ WAP站开发之3G版、触屏版跳转证验工具       WAP站开发之3G版、触屏版跳转验证工具现在越来越多的手机开始支持HTML5等一些新技术,原本只能通过图片和Flash来实现的东西,可以通过HTML5来实现了。但是我们给用户的WAP站的入口只有一个.........

[1]Fragment兑现两栏展示
    来源: 互联网  发布时间: 2014-02-18
Fragment实现两栏展示

现在Fragment被使用的也比较多了,官方也在推荐使用Fragment,尤其是平板上开发显得非常的方便,这里我是在手机里展示的,可以先看一下效果图。


实现也是比较的简单,activity的布局文件里,有两个控件,一个是titles,一个是details, titles是通过指定了了对应的F绕过梦来展现的内容,Fragment本身是一个View,有自己的生命周期。这个Demo里点击titles里的目录在右侧可以显示对应的详情信息。右侧放的是一个Framlayout,在代码里通过语句

DetailsFragment df = (DetailsFragment)getFragmentManager().findFragmentById(R.id.details);

来显示DetailsFragment,把点击的位置通过,DetailsFragment里的静态方法传递过去,返回的是对应的Fragment,在得到了Fragment之后,ft.replace(R.id.details, df);将其显示出来。TitleFragment里面主要就是做了这么多工作。在DetailsFragment里面接收到对应的参数之后(getArguments().getInt("index");),把所对应的详细信息给展示出来。

public class MainActivity extends FragmentActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
    	setContentView(R.layout.activity_main);
    }
}

public class TitleFragment extends ListFragment {
	boolean mDualPane;		//检验是否有DetailFragment,没有就另起一个activity
	int mCurCheckPosition;
	
	public void onSaveInstanceState (Bundle outState){
		super.onSaveInstanceState(outState);
		outState.putInt("curPosition", mCurCheckPosition);
	}
	@Override
	//初始化TitleFragment
	public void onActivityCreated(Bundle savedInstanceState){
		super.onActivityCreated(savedInstanceState);
		setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,TITLES));
		View detailsFrame = getActivity().findViewById(R.id.details);
		mDualPane = detailsFrame != null && detailsFrame.getVisibility()==View.VISIBLE;
		if(savedInstanceState != null){
			mCurCheckPosition = savedInstanceState.getInt("curPosition",0);
		}
		if(mDualPane){
			getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
			showDetails(mCurCheckPosition);
		}
	}
	
	public void onListItemClick(ListView l, View v, int position, long id){
		showDetails(position);
	}
	//显示选中Item对于的内容
	private void showDetails(int position) {
		int index = position;
		if(mDualPane){
			getListView().setItemChecked(index, true);
			DetailsFragment df = (DetailsFragment)getFragmentManager().findFragmentById(R.id.details);
			if(df == null || df.getShowIndex() != index){
				df = DetailsFragment.newInstance(index);
				FragmentTransaction ft = getFragmentManager().beginTransaction();
				ft.replace(R.id.details, df);
				ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
				ft.commit();
			}
		}
	}
	public static final String[] TITLES = 
    {
            "Henry IV (1)",   
            "Henry V",
            "Henry VIII",       
            "Richard II",
            "Richard III",
            "Merchant of Venice",  
            "Othello",
            "King Lear"
    };
}

public class DetailsFragment extends Fragment{
	//方法newInstance用于新建一个DetailFragment
	public static DetailsFragment newInstance(int index){
		DetailsFragment f = new DetailsFragment();
		Bundle bundle = new Bundle();
		bundle.putInt("index", index);
		//给Fragment初始化参数
		f.setArguments(bundle);
		return f;
	}
	//产生显示内容的View
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState){
		if(container == null){
			return null;
		}
		ScrollView scroller = new ScrollView(getActivity());
		TextView text = new TextView(getActivity());
		//设置TextView边框大小
		int padding = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getActivity().getResources().getDisplayMetrics());
		text.setPadding(padding,padding,padding,padding);
		scroller.addView(text);
		text.setText(DIALOGUE[getShowIndex()]);
		return scroller;
	}
	//获取新建DetailFragment时声明的参数
	public int getShowIndex(){
		return getArguments().getInt("index");
	}


Demo下载



    
[2] Untiy3d AR(容易实现)
    来源: 互联网  发布时间: 2014-02-18
Untiy3d AR(简单实现)

感觉ar挺好玩的、所以研究了一下、简单的说一下吧、首先去官网下载sdk我用的是untiy3d、下载地址:https://developer.vuforia.com/resources/sdk/unity,虽然不大、但是下载速度太慢了、然后新建一个工程、把这个sdk包导进去、具体怎么导就不用我细说了、自己找一张照片去官网加工一下,加工地址:https://developer.vuforia.com/targetmanager/deviceTarget/createNonCloudTarget,加工好以后下载下来、导进之前这个工程、然后把ARCamera 的属性设置一下,如图:,然后把ImageTarget预制的属性也设置一下:,旋转自己加工的那个图片,然后再ImageTarget下加上自己要出现的效果、我这里加了一个粒子系统:,然后调整一下摄像机的位置、能够看到图片,和要出现的效果就可以、然后导出来,android或ios应该都可以、我只是导了个android的、ios的没试、然后在android手机上运行、效果能出来、

文采不太好、、、、、


    
[3] WAP站开发之3G版、触屏版跳转证验工具
    来源: 互联网  发布时间: 2014-02-18
WAP站开发之3G版、触屏版跳转验证工具

现在越来越多的手机开始支持HTML5等一些新技术,原本只能通过图片和Flash来实现的东西,可以通过HTML5来实现了。但是我们给用户的WAP站的入口只有一个,这就需要判别手机操作系统和手机浏览器后,自动跳转到适合的版本(3G版或者触屏版)。

验证跳转的效果,我们可以通过手机来进行测试,但是仅仅为了测试这个功能,拿那么多手机来测试,个人感觉太过于浪费,况且我们的手头的测试手机也不可能一下子就那么齐全,因此我们可以借助浏览器的User_Agent切换的工具。本人用的是Chrome浏览器下的User_Agent Switcher插件,通过这个插件可以模拟不同的浏览器头(当然,这个只是模拟了浏览器头,浏览器的内核是不会有任何变化的)。



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