当前位置:  编程技术>移动开发
本页文章导读:
    ▪表单分向交付        表单分向提交         同一个表单可以根据用户的选择,提交给不同的后台处理程序。即,表单的分向提交。         如:在编写论坛程序时,如果我们希望实现用户在发送贴子的时.........
    ▪ OpenGL超级宝典札记(三)        OpenGL超级宝典笔记(三) 第五章 颜色、材料和光照 学习如何在3D场景中添加颜色以及平滑着色,如何指定一个或多个光源,并根据环境、散射和镜面成分定义它们的光照特征。 a) 在OpenGL中使.........
    ▪ settingFragment设立属性的创建与响应       settingFragment设置属性的创建与响应android3.0之后设置属性有专门的方式显示,基于PrefenceFragment,通过addPreferencesFromResource(R.xml.preferences);加载界面。 如图:          我的布局大致如下:     .........

[1]表单分向交付
    来源: 互联网  发布时间: 2014-02-18
表单分向提交

        同一个表单可以根据用户的选择,提交给不同的后台处理程序。即,表单的分向提交。

        如:在编写论坛程序时,如果我们希望实现用户在发送贴子的时候,既发送提交功能又有预览功能时,就会遇到上述问题。

        即,当用户点击提交按钮时,我们希望表单提交给"提交"处理程序;而当用户点击预览按钮时,我们希望表单提交 给"预览"处理程序。那么,如何实现上述功能呢?下面代码可以很好的解决这个问题。 

 

 

<form name="form" method="post">
测试表单:<input name="test"><br>
<input type="button" value="提交" onClick=send()>
<input type="button" value="预览" onClick=preview()>
</form>
<script language=javascript>
function send()
  {
    document.form.action="/blog_article/send.html"
    document.form.submit()
   }
function preview()
   {
     document.form.action="/blog_article/preview.html"
     document.form.submit()
   }
</script>

         关于上面实例的两点说明:
        1、在整个表单中,不应有名字为action或submit的标签,否则将会产生"对象不支持此属性和方法"的错误。如代码 "<input type='xxxx' name='action' >"在表单中是不允许出现的;
        2、在form标签中应该存在name属性。即,应该给表单取一个名字。语句document.form.action和document.form.submit中的"form"也就是表单的名字。
        表单的分向提交不仅仅使用在论坛的程序中,它还可以运用在许多场合下。恰当的运用表单的分向提交功能可以大大的增强网站的人性化程度。
        昨天,我调试程序就出现了这样的问题,就是出现了"对象不支持此属性和方法"的错误,一直无法定位出来,都快疯掉了,后来在发现一个button命名为submit了。

 

1.--------  
   
  <form   name="formname"   action="">  
  <input   name="inputname">  
  <input   type="submit"   onclick="document.formname.action='/blog_article/a.html'"   value="button   a">  
  <input   type="submit"   onclick="document.formname.action='/blog_article/b.html'"   value="button   b">  
  <input   type="submit"   onclick="document.formname.action='/blog_article/c.html'"   value="button   c">  
  </form> 
     
2.----------  
  <input   type=button   name="a"   value="a"   onclick="this.form.action='/blog_article/a.html';this.form.submit();">  
  <input   type=button   name="b"   value="b"   onclick="this.form.action='/blog_article/b.html';this.form.submit();">  
  <input   type=button   name="c"   value="c"   onclick="this.form.action='/blog_article/c.html';this.form.submit();">  
  <input   type=button   name="d"   value="d"   onclick="this.form.action='/blog_article/d.html';this.form.submit();"> 

 

 


    
[2] OpenGL超级宝典札记(三)
    来源: 互联网  发布时间: 2014-02-18
OpenGL超级宝典笔记(三)


第五章 颜色、材料和光照

学习如何在3D场景中添加颜色以及平滑着色,如何指定一个或多个光源,并根据环境、散射和镜面成分定义它们的光照特征。

a) 在OpenGL中使用颜色,通过分别指定红、绿、蓝成分的强度来指定一种特定的颜色。设置绘图颜色void glColor<x><t>(red , green , blue , alpha);<x>表示参数的数量,<t>表示参数的数据类型。

b) 接着,讲讲着色,可以简单地定义为一种颜色到下一种颜色的平滑过渡(渐变)。glShadeModel(GL_SMOOTH),启用平滑着色,还有其他模式GL_FLAT,单调着色,即图元内部不进行着色技术,内部颜色就是最后一个顶点所指定的颜色。但GL_POLYGON图元,它的内部颜色是第一个顶点的颜色。

c) 现实世界的颜色 在OpenGL光照模型中,除非一个物体自己会发光,否则都会受到3种不同类型的光的照射:环境光(ambient)、散射光(diffuse)和镜面光(specular)。环境光并不来自任何特定的方向,散射光具有方向性,来自于一个特定的方向,镜面反射具有很强的方向性,只沿一个特定的方向反射。真实的颜色还有与材料有密切关系,光照和材料一齐影响才显示人眼看到的颜色。

d) 向场景添加光照 启动光照glEnble(GL_LIGHTING);设置光照模式GLfloat ambientLight[]={1.0f,1.0f,1.0f,1.0f}; ....glLightModelfv(GL_LIGHT_MODEL_AMBIENT , ambientLight);ambientLight是RGBA值;设置材料属性 GLfloat gray[]={0.75f,0.75f,0.75f,0.75f};.....glMaterialfv(GL_FRONT,GL_AMBIENT_AND_DIFFUSE,gray);另一种方法是颜色追踪,仅仅通过调用glColor来设置材料属性。代码如下:glEnable(GL_COLOR_MATERIAL); glColorMaterial(GL_FRONT,GL_AMBIENT_AND_DIFFUSE);...glColor3f(0.75f,0.75f,0.75f);随着多边形的数量增加,它的执行速度将会更快。

e) 使用光源 除了强度和颜色之外,这些光源具有位置和方向。法线是很好的充当方向这个角色,使用以下函数可以找一条法线void m3dFindNormal(M3DVector3f  vNormal, const M3DVector3f vP1,const M3DVector3f vP2,const M3DVector3f vP3);设置光源glEnable(GL_LIGHT0);GLfloat lightPos[]={-50.0f,50.0f,100.0f,1.0f};.......glLightfv(GL_LIGHT0,GL_POSITION,lightPos);lightPos[]包含了光的位置,最后一个值是1.0表示指定的坐标是光源的位置,当该值为0.0时则表示光是从无限远处沿着这个数组所指定的向量照射过来的。

f) 光照效果,OpenGL提供一些有关光照效果函数:镜面光glLightfv(GL_LIGHT0,GL_SPECULAR,specular);镜面反射GLfloat specref[]=(1.0f,1.0f,1.0f,1.0f);....glMaterialfv(GL_FROAT,GL_SPECULAR,specref);镜面指数glMaterial(GL_FRONT,GL_SHININESS,128);GL_SHININESS属性设置材料的镜面指数。另外还有法线均衡(normal averaging),它可以产生一些有趣的光学幻觉,可以做一些球体。

g) 有光就离不开阴影,它可以极大的提高场景的真实性以及视觉效果。用到math3d函数库的m3dMakePlanarShadowMatrix函数,它接受的参数包括我们希望阴影所出现的平面的平面方程和光源位置,它返回这个函数所创建的一个变换矩阵。


    
[3] settingFragment设立属性的创建与响应
    来源: 互联网  发布时间: 2014-02-18
settingFragment设置属性的创建与响应

android3.0之后设置属性有专门的方式显示,基于PrefenceFragment,通过addPreferencesFromResource(R.xml.preferences);加载界面。

如图:

        

我的布局大致如下:

       <PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/Display">
<CheckBoxPreference
android:key="pref_hiddenFiles"
android:title="@string/Show_Hidden_Files"
android:summary="@string/Display_hidden_files_and_folders"/>
<CheckBoxPreference
android:key="pref_thumbnail"
android:title="@string/Show_Image_Thumbnails"
android:summary="@string/Display_a_thumbnail_for_image_files"/>
<ListPreference
android:key="pref_view"
android:title="@string/View_Type"
android:summary="@string/Display_files_in_a_grid_or_a_list"
android:entries="@array/view"
android:entryValues="@array/view_value"
android:dialogTitle="@string/Choose_a_View" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/Sorting">
<ListPreference
android:key="pref_sorting"
android:title="@string/Sorting_Type"
android:summary="@string/Choose_how_to_sort_files_and_folders"
android:entries="@array/sorting"
android:entryValues="@array/sorting_value"
android:dialogTitle="@string/Choose_a_Sorting_Option" />
</PreferenceCategory>
        <PreferenceCategory android:title="@string/folderSetting">
<CheckBoxPreference
android:key="pref_DisplayRootDir"
android:title="@string/inital_Root_Dir"
android:summary="@string/dispaly_Root_Dir"/>
</PreferenceCategory>
    <PreferenceCategory android:title="@string/version_info">
        <Preference
            android:key="pref_version"
            android:title="@string/version_number"
            android:summary="@string/version_info_number">
        </Preference>
        <Preference
            android:key="pref_check_version"
            android:title="@string/check_version"
            android:summary="@string/check_version_summary">
        </Preference>
    </PreferenceCategory>
</PreferenceScreen>

       Preference中的控件有点特殊之处就是,当你运用了PreferenceFragment之后,在data->data->工程名下面有一个preference文件,该文件中记录了你的选择,如果你将checkpreference设置为选中状态,你会发现preference文件中对应的id的对应值变为true,这样的好处是为了后来取值方便,读取该文件就能获取到当前控件的状态,取值方法为:private SharedPreferences mPreferences;

        mPreferences = PreferenceManager.getDefaultSharedPreferences(this);

mPreferences.getBoolean( settingFragment.PREF_HIDDEN_KEY, false);

        由于Fragment的使用必须要在Activity之中,因此定义一个settingActivity,

        public class settingActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
FragmentManager fragmentManager = getFragmentManager();
settingFragment setting = new settingFragment();
FragmentTransaction fragmentTransaction =fragmentManager.beginTransaction();
fragmentTransaction.replace(android.R.id.content, setting);
fragmentTransaction.commit();
}
}


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