精华内容
下载资源
问答
  • 在[文本框]按钮下拉列表中选择[绘制文本框],即可在文档中绘制横排文本框,接下来在文本框内输入相应文本。(本例为俄国诗人普希金的诗歌《假如生活欺骗了你》)选中文本框,在[格式]选项卡[排列...

    昨天我们学习了如何使文字在文本框内水平和垂直方向均居中对齐,今天跟大家分享一下怎样让文本框在整个页面中水平、垂直居中对齐。

    目标效果图

    1c66da48e0797ab1b043d202090e9ad1.png

    操作步骤

    • 在WORD文档[插入]选项卡[文本]功能组中点击[文本框]按钮,如下图。
    37e05e998abe644ed6a107b4564db8ba.png
    • 在[文本框]按钮下拉列表中选择[绘制文本框],即可在文档中绘制横排文本框,接下来在文本框内输入相应文本。(本例为俄国诗人普希金的诗歌《假如生活欺骗了你》)
    ebf22189bf529f10300adaf1a34dea3a.png
    • 选中文本框,在[格式]选项卡[排列]功能组中,点击[对齐]按钮,在下拉列表中点击[对齐页面],使[对齐页面]前面出现对勾标志"√"。
    2f149992d1a9ac4116e528c744d68cd9.png
    • 保持文本框处于选中状态,在[格式]选项卡[排列]功能组中,点击[对齐]按钮,在下拉列表中点击[左右居中],使文本框在整个页面中左右居中对齐。
    39fb03526bb415be5469aabad0a1bfd1.png
    • 继续在[格式]选项卡[排列]功能组[对齐]按钮的下拉列表中点击[上下居中],使文本框在整个页面中垂直居中对齐。本案例操作完毕。
    41dde1f77cd2d0427be7987e3653329f.png

    小提示

    对齐页面和对齐边距效果有所不同,如果要使文本框相对于整个页面处于居中位置,[对齐页面]前面应有对勾标志"√"。

    我是@芳芳办公笔记,如果觉得有用,欢迎收藏、关注!

    展开全文
  • 在[文本框]按钮下拉列表中选择[绘制文本框],即可在文档中绘制横排文本框,接下来在文本框内输入相应文本。(本例为俄国诗人普希金的诗歌《假如生活欺骗了你》)选中文本框,在[格式]选项卡[排列...

    昨天我们学习了如何使文字在文本框内水平和垂直方向均居中对齐,今天跟大家分享一下怎样让文本框在整个页面中水平、垂直居中对齐。

    目标效果图

    d60b7e1daa5f5518e65017f7088ecb0a.png

    操作步骤

    • 在WORD文档[插入]选项卡[文本]功能组中点击[文本框]按钮,如下图。
    267ef954b4995ff175cd1ca67ffe6379.png
    • 在[文本框]按钮下拉列表中选择[绘制文本框],即可在文档中绘制横排文本框,接下来在文本框内输入相应文本。(本例为俄国诗人普希金的诗歌《假如生活欺骗了你》)
    383143fcda7e41b5a541b4c5e3e6b84f.png
    • 选中文本框,在[格式]选项卡[排列]功能组中,点击[对齐]按钮,在下拉列表中点击[对齐页面],使[对齐页面]前面出现对勾标志"√"。
    f881719a97f93aa164841a64636a1ed3.png
    • 保持文本框处于选中状态,在[格式]选项卡[排列]功能组中,点击[对齐]按钮,在下拉列表中点击[左右居中],使文本框在整个页面中左右居中对齐。
    568aab1cfcf785392b6c51a9abbab806.png
    • 继续在[格式]选项卡[排列]功能组[对齐]按钮的下拉列表中点击[上下居中],使文本框在整个页面中垂直居中对齐。本案例操作完毕。
    a57aa44319f29b649874b5d9894e9fe1.png

    小提示

    对齐页面和对齐边距效果有所不同,如果要使文本框相对于整个页面处于居中位置,[对齐页面]前面应有对勾标志"√"。

    我是@芳芳办公笔记,如果觉得有用,欢迎收藏、关注!

    展开全文
  • 2、GestureOverlayView的绘制手势的事件是在什么时候触发的? 3、父子嵌套的控件触发事件的顺序是怎样的? 4、父子控件获取焦点的顺序是怎样的? 第一个问题,安卓中任何控件的onThouch事件触发的时候,都经过了...

    要解决这个问题,首先要弄清楚几个问题:

    1、onThouch事件的触发原理是怎样的?

    2、GestureOverlayView的绘制手势的事件是在什么时候触发的?

    3、父子嵌套的控件触发事件的顺序是怎样的?

    4、父子控件获取焦点的顺序是怎样的?


    第一个问题,安卓中任何控件的onThouch事件触发的时候,都经过了以下过程:

            public boolean dispatchTouchEvent(MotionEvent ev) ,该方法如果返回true,则事件在该位置被消费掉,不再向下传递,返回false则继续传递至

        public boolean onInterceptTouchEvent(MotionEvent ev)这个方法,该方法是事件拦截器,如果返回true,则触发该控件的onThouch事件,否则就将事件传递给该控件的子控件,

          public boolean onTouchEvent(MotionEvent ev),返回true的话就消费掉该事件,返回false就传递到该控件的父控件的onThouch事件

    在网上找到一个图片,能简洁明了的反映以上关系:


    第二个问题,查看GestureOverlayView源码可知道,手势绘制的监听触发时间是在dispatchTouchEvent(MotionEvent ev)这个事件中就完成的,所以只要有触摸屏幕的动作,就必然会被它先消费掉,这也是手势事件和其他控件冲突的根本原因~源码如下:

     @Override
        public boolean dispatchTouchEvent(MotionEvent event) {
            if (isEnabled()) {
                final boolean cancelDispatch = (mIsGesturing || (mCurrentGesture != null &&
                        mCurrentGesture.getStrokesCount() > 0 && mPreviousWasGesturing)) &&
                        mInterceptEvents;
    
                processEvent(event);
    
                if (cancelDispatch) {
                    event.setAction(MotionEvent.ACTION_CANCEL);
                }
    
                super.dispatchTouchEvent(event);
    
                return true;
            }
    
            return super.dispatchTouchEvent(event);
        }
    
        private boolean processEvent(MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    touchDown(event);
                    invalidate();
                    return true;
                case MotionEvent.ACTION_MOVE:
                    if (mIsListeningForGestures) {
                        Rect rect = touchMove(event);
                        if (rect != null) {
                            invalidate(rect);
                        }
                        return true;
                    }
                    break;
                case MotionEvent.ACTION_UP:
                    if (mIsListeningForGestures) {
                        touchUp(event, false);
                        invalidate();
                        return true;
                    }
                    break;
                case MotionEvent.ACTION_CANCEL:
                    if (mIsListeningForGestures) {
                        touchUp(event, true);
                        invalidate();
                        return true;
                    }
            }
    
            return false;
        }

    基于这个原因,可能很多人会考虑通过重写GestureOverlayView控件来解决冲突问题,我也试过了,但是依然不能解决较为复杂的问题,所以在次就不再赘述了。


    第三个问题,借用一篇博客来说明问题,在此感谢博主 @浅秋http://blog.csdn.net/hyp712/article/details/8777835(博文写的很详细)

    借用第三个问题,第四个问题就迎刃而解了,可以简单的理解为,正常情况下,最内层的控件是最先获取焦点的,

    最外层的是最后获取焦点的;但是最外层的获取焦点的优先级是最高的,一旦它决定拦截并消费事件,那么它的子控件就不能再获取该事件;


    解决冲突的方法:

    我的需求是在一个ListView页面启用手势功能,

    用户如果画了手势,则根据手势内容做不同的反应,但是手势不能影响ListView的滚动、点击、选中的操作;

    ListView中包含文本框;如果点击的是文本框,不能影响文本框获取焦点进行编辑;

    我重写GestureOverlayView的时候解决了前2个需求,但是文本框死活获取不了焦点;

    布局文件如下,需要说明是,因为之前是通过重写来做的,但是最后没解决,于是重写的文件直接调用了super,等于没重写:

    <ListView
    android:id="@+id/list_aj"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:clickable="true"
    android:longClickable="true"
    />
    
    <TextView
    android:id="@+id/textViewModel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    />
    
    <EditText
    android:id="@+id/textViewValueModel"
    android:layout_width="300dp"
    android:layout_height="40dip"
    android:layout_centerVertical="true"
    android:gravity="center_vertical"
    android:layout_marginLeft="110dip"
    android:textSize="17sp"
    android:background="@null"
    android:inputType="text"
    android:focusable="false"
    android:visibility="gone"
    />
    
    <ImageView
    android:id="@+id/imageViewModel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:contentDescription="@string/descTask"
    android:layout_centerVertical="true"/>
    
    <com.zbtc_it.tcis.Util.MGestureOverlayView 
    calss="com.zbtc_it.tcis.Util.MGestureOverlayView"
    android:id="@+id/gesture"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    >
    </com.zbtc_it.tcis.Util.MGestureOverlayView>

    重写的时候,我用MGestureOverlayView包含了ListView,

    但是后来一想,因为MGestureOverlayView每次都会最先拦截,并且它必然会消费事件,所以这样肯定是不行的

    于是就换成并列的,解决方法就是,在MGestureOverlayView的onThouch事件中,手动赋予ListView的事件源,代码如下

    overlays = (MGestureOverlayView) layout.findViewById(R.id.gesture);
    overlays.setGestureStrokeType(GestureOverlayView.GESTURE_STROKE_TYPE_MULTIPLE);
    overlays.setFadeOffset(1000);// 多笔画2笔之间的时间间隔
    
    overlays.setOnTouchListener(new View.OnTouchListener() {
    
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    itemListView.dispatchTouchEvent(event);//赋予ListView事件源
    return false;//消费掉事件
    }
    });

    同时重写ListView的onInterceptTouchEvent方法,让其直接返回false

    (这步好像不是必须的,忘记了 >_< ,默认的貌似就是返回false)


    展开全文
  • 今天和大家分享一个PPT技巧怎样使用PPT制作不一样的动态文字,...2.移动图片大小,让其铺满全屏,之后点击工具栏上方的插入选项点击文本框选择绘制横排文字文本框,将需要添加的字体输入至文本框中。3.并在绘制栏上...

    今天和大家分享一个PPT技巧怎样使用PPT制作不一样的动态文字,不仅操作简单使用起来也很便利呢?在工作,生活中都可以使用,下面一起来看看绘制技巧吧!

    ff564bc750126bbd83de30a904891efd.png

    操作方法

    使用工具:电脑/PPT

    1.新建一个PPT空白文档,选择上方插入操作,将选中的背景图片添加到该幻灯片中。

    9d19620339f3647acdc0401812e48db9.png

    2.移动图片大小,让其铺满全屏,之后点击工具栏上方的插入选项点击文本框选择绘制横排文字文本框,将需要添加的字体输入至文本框中。

    b151b0536fc743e594dbb670502b0606.png

    3.并在绘制栏上方选择字体大小以及字体样式进行设置使用,尽量选择粗体,这样等会成图更加惊艳。

    df5b9379e71417517ddda21f59018cdc.png

    4.文字添加成功之后按住键盘Ctrl键先选择背景图片之后选择文字文本框。怎样确定被选中呢?在图片外显示有方框就代表已经被选中了)

    f10a1d3b4642f14677758b21886c754a.png

    5.这时选择上述工具栏中的格式操作,在合并形状栏目中选择剪除操作,可以发现文字变成白色的了。

    9e11e9a06c4b3bc29e0916d940c7374f.png

    6.之后再次点击工具栏上方的插入操作操作,点击图片将我们提前准备好的图片素材放到PPT模板中。

    7a449b19d39e88f359879377587916ca.png

    7.将添加的图片素材放置在文字上方,确保播放时字体能在花瓣中展示,右键点击该图片,点击置于底层,此时视频就在文字下方,点击播放按钮就可以观看动态文字效果啦。

    33ee45656b27537053acdf6ed65df078.png

    怎么样有没有很实用?不知道怎样操作的小伙伴可以私聊小编进行解答,利用PPT还可以制作很多我们意想不到的样式,希望能给大家带来帮助。

    展开全文
  • 选择工具箱中的“文本工具”在绘图页面单击并拖动,绘制矩形文本框, 输入所需文本。2. 执行“文件>导入”命令,导入您要插入文本的图片。3. 导入文档的图片如图所示。4. 要想使文字绕图片轮廓编排,还需要将图片...
  • 打开几何画板,选择“文本工具”,在画板上拖出一个文本框,在文字输入状态下,点击下方的“符号面板”按钮,接着在弹出的模板中选择根号模板,这样就可以打出带根号的数字。 在符号面板下选择根号模板打出根号示例...
  • 单斜线表头制作我们可以在【布局】-【绘制】-【绘制表格】中画一条斜线出来,然后插入【文本框】将其设为无颜色,再输入文字,调整位置就行了。绘制斜线表头这里我们可以直接设置边框样式,就可以快速搞定斜线表头,...
  • Microsoft C# Windows程序设计(上下册)

    热门讨论 2011-08-05 10:28:13
    7.4 打印机的情况怎样? 7.5 手工转换 7.6 页单位和页缩放 7.7 画笔的宽度 7.8 页面变换 7.9 保存图形状态 7.10 可度量大小 7.11 任意坐标 7.12 哪些事情不能做 7.13 世界坐标变换 7.14 总结 ...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    13、Excel中快速绘制文本框 86 14、快速更改英文大小写 86 15、让窗口这样固定 86 16、快速输入省略号 86 17、轻松搞定单元格数据斜向排 86 18、快速去掉页眉的横线 86 19、为奇偶页制作不同的水印 86 20、快捷绘图 ...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位...
  • 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位...
  • 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位...
  • 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位...
  • 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位...
  • 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位...
  • 如何设定静态文本框的背景色和文本颜色 如何响应CSliderCtrl控件的拖动消息以及得到当前位置 如何使用CFileDialog对话框 如何使用CColorDialog对话框 如何使用CFontDialog对话框 如何避免CRichEditCtrl中显示中文...
  • GUI Design Studio 3.0

    2009-02-10 11:54:51
    当您需要绘制一款应用程序的外观或显示怎样将程序的各个部分连接起来时,您就可以使用GUI Design Studio来实现,如: 将产品创意文档化 制作项目提案 需求记录 创建屏幕图样 为开发人员制作详细的规格 为现有...
  • 学通Java的24堂课

    2014-01-17 13:19:41
    1.1.5 怎样学好java 8 1.2 环境搭建 8 1.2.1 jdk下载 8 1.2.2 jdk安装 10 1.2.3 配置环境变量 11 1.3 编写第一个java程序 14 1.3.1 在记事本中输入代码 14 1.3.2 保存代码为源代码文件 15 1.3.3 编译并运行...
  • 实例095 使用ErrorProvider组件验证文本框输入 130 实例096 利用ErrorProvider组件查看数据集中的错误 132 3.3 EventLog组件 134 实例097 使用EventLog组件读写Windows系统事件日志 134 实例098 使用Event...
  • 软件界面设计工具_3款合集

    千次下载 热门讨论 2010-06-29 03:52:47
    当您需要绘制一款应用程序的外观或显示怎样将程序的各个部分连接起来时,您就可以使用GUI Design Studio来实现,如: 将产品创意文档化 制作项目提案 需求记录 创建屏幕图样 为开发人员制作详细的规格 为现有...
  • C#.net_经典编程例子400个

    热门讨论 2013-05-17 09:25:30
    130 实例095 使用ErrorProvider组件验证文本框输入 130 实例096 利用ErrorProvider组件查看数据集中的错误 132 3.3 EventLog组件 134 实例097 使用EventLog组件读写Windows系统事件日志 134 ...
  • 因为没有某一个指标或数字可以直接告诉我们网页的性能怎样,因为加载网页不是一瞬间的事,准确地说,它是一个过程,不存在某个单独的 “时间点”</strong> 可以完全体现出网页的性能,...
  •  实例095 使用ErrorProvider组件验证文本框输入 130  实例096 利用ErrorProvider组件查看数据集中的错误 132  3.3 EventLog组件 134  实例097 使用EventLog组件读写Windows系统事件日志 134  实例098 ...
  • 实例104 使用ErrorProvider组件验证文本框输入 150 3.3 EventLog组件 151 实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向本机...
  • C#程序开发范例宝典(第2版).part02

    热门讨论 2012-11-12 07:55:11
    实例104 使用ErrorProvider组件验证文本框输入 150 3.3 EventLog组件 151 实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向...
  • C#程序开发范例宝典(第2版).part13

    热门讨论 2012-11-12 20:17:14
    实例104 使用ErrorProvider组件验证文本框输入 150 3.3 EventLog组件 151 实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向...
  • 实例104 使用ErrorProvider组件验证文本框输入 150 3.3 EventLog组件 151 实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向...
  • 实例104 使用ErrorProvider组件验证文本框输入 150 3.3 EventLog组件 151 实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

怎样绘制文本框