Android 第五课 常用控件的使用方法(TextView、Button、EditView、 ImageView、 ProgressBar、 ProgressDialog等)

总结:见名知意

TextView:

Button:

EditView:

ImageView:

ProgressBar:

ProgressDialog和AlertDialog有些类似,都可以再界面弹出对话框,都能够屏蔽其他控件的交互能力,用法也类似。

我们还发现ProgressDialog和AlertDialog不用在activity_layout.xml布局文件中写入,直接在MainActivity代码中通过按钮点击事件调用就行。

详细步骤:

首先新建项目UIWidgetTest项目。假如活动及其对应布局已经创建完毕。

  • TestView

主要用来在界面显示一段文本信息。类似于显示“Hello world!”。

修改activity_main.xml中的代码,如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.uiwidgettest.MainActivity">    <TextViewandroid:id="@+id/text_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="This is TextView"android:gravity="center"android:textSize="24sp"android:textColor="#00ff00"/>
</LinearLayout>

我们仅仅增加一个TextView控件,还有制定了它的属性。wrap_content表示由控件内容决定控件大小。android:gravity表示来指定文字的对齐方式。

  • Button

我们先不管外面LinearLayout,修改activity_main.xml文件,来增加一个Button。代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/text_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="This is TextView"android:gravity="center"android:textSize="24sp"android:textColor="#00ff00"/><Buttonandroid:id="@+id/button"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" android:textAllCaps="false"/>//注意这里Button不完全都是大写,但是运行之后会自动转换为大写,我们要改变这种默认。</LinearLayout>

我们可以运行一下。

发现有问题,后面的Button并没有显示出来,这是因为外面的LinearLayout通过android:orientation指定了排列方式,默认情况为horizontal,我们需要指定为为vertical。及如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/text_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="This is TextView"android:gravity="center"android:textSize="24sp"android:textColor="#00ff00"/> <Buttonandroid:id="@+id/button"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /></LinearLayout>

接下来,我们在MainActivity中为Button的点击事件注册一个监听器,代码如下:

package com.example.uiwidgettest;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button = (Button)findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//逻辑语句}});}
}

  • EditText

程序和用户进行交互,允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。

同样修改activity_main.xml文件,来增加一个EditText控件,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/text_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="This is TextView"android:gravity="center"android:textSize="24sp"android:textColor="#00ff00"/><Buttonandroid:id="@+id/button_1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button1"android:textAllCaps="false"/><EditTextandroid:id="@+id/edit_text"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="Type something here"android:maxLines="2"/></LinearLayout>

然后我们可以在输入框内显示一些提示性文字,一旦用户输入了任何内容,提示性文字又会消失。其实我们只要给EditText指定一个android:hint 属性就行了。

然后呢,运行之后,我们发现可以在EditView内容输入无限多内容,界面会不好看,我们又可以通过android:maxLines属性来解决这个问题。定义好这个属性我们发现当输入的文本超过两行,文本会自动向上翻。

紧接着,我们可以结合EditText与Button完成一些功能,比如通过点击按钮来获取EditText里面输入的内容。

修改MainActivity里面的内容,代码如下:

package com.example.uiwidgettest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends AppCompatActivity {private  EditText editText;//在这里单独定义@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button = (Button)findViewById(R.id.button);editText = (EditText)findViewById(R.id.edit_text);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button:String inputText = editText.getText().toString();Toast.makeText(MainActivity.this,inputText,Toast.LENGTH_SHORT).show();break;default:break;}}});}
}

首先通过findViewById()获取EditText的实例,然后在按钮的点击事件里调用EditText的getText()方法来获取输入的内容。再调用toString()方法转化为字符串。最后还是使用Toast显示出来。

  • ImageView

这是一个用来显示图片的控件,我们知道图片通常放在”drawable”开头的目录下,我们发现有很多drawable开头的目录,我们选一个drawable-xhdpi的目录,将选好的图片img_1.png和img_2.png放入这个目录中。

修改main_activity,也就是来说添加一个ImageView控件添加代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent">........  <ImageViewandroid:id="@+id/image_view"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/img_1" /></LinearLayout>
我们发现有个android:src属性,我想大概是图片的来源吧,但是我们明明把图片放在了drawable-xhdpi目录下,为什么却写的是drawable目录呢?

另外,我们可以通过代码动态地更改ImageView中的图片,修改MainActivity的代码,如下:

package com.example.uiwidgettest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends AppCompatActivity {private  EditText editText;//在这里单独定义 private ImageView imageView;//@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button_1 = (Button)findViewById(R.id.button_1);Button button_2 = (Button)findViewById(R.id.button_2);editText = (EditText)findViewById(R.id.edit_text);imageView = (ImageView)findViewById(R.id.image_view);button_1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button_1:String inputText = editText.getText().toString();Toast.makeText(MainActivity.this,inputText,Toast.LENGTH_SHORT).show();break;default:break;}}});button_2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button_2:imageView.setImageResource(R.drawable.img_2);break;default:break;}}});}
}

我们可以再添加一个Button2,来监听ImageView,点击Button2时,我们可以从Img_1调转到Img_2。

这里需要注意,添加Button2,我们需要再写一个监听器。在按钮的监听事件中,我们通过调用ImageView的setImageResourece()方法将显示的图片改成Img_2。

  • ProgessBar

这个用于在界面上显示一个进度条,表示我们正在加载一些数据,我们可以修改activity_main中的代码,添加一个ProgessBar,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent">.......<Buttonandroid:id="@+id/button_2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button2"android:textAllCaps="false"/>........ <ProgressBarandroid:id="@+id/progress_bar"android:layout_width="match_parent"android:layout_height="wrap_content" />

</LinearLayout>
运行完程序之后,我们发现一直有个圆形进度条正在选装,那么如何让进度条在加载完数据后消失呢,我们就学习一个新的属性: Android控件的可见属性。

可以通过android:visibility进行指定,可选值有3种:visible,invisible和gone。visible是表示控件可见的,这个是默认值。invisible表示控件不可见,但它仍然占据着原来的位置和大小,就是透明状态。gone则表示控件不仅不可见,而且不占用任何屏幕空间。

我们通过代码来设置控件的可见性,使用的是setVisibility()方法,可以传入View.VISIBLE、View.INVISIBLE和View.GONE这3种值,接下来我们尝试实现,点击按钮让进度条消失,这里我们再添加一个Button3(在activity_main里面添加即可)。

修改MainActivity种的代码,如下

package com.example.uiwidgettest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity {private  EditText editText;//在这里单独定义private ImageView imageView;private ProgressBar progressBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button_1 = (Button)findViewById(R.id.button_1);Button button_2 = (Button)findViewById(R.id.button_2);Button button_3 = (Button)findViewById(R.id.button_3);editText = (EditText)findViewById(R.id.edit_text);imageView = (ImageView)findViewById(R.id.image_view);progressBar = (ProgressBar)findViewById(R.id.progress_bar);button_1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button_1:String inputText = editText.getText().toString();Toast.makeText(MainActivity.this,inputText,Toast.LENGTH_SHORT).show();break;default:break;}}});button_2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button_2:imageView.setImageResource(R.drawable.img_2);break;default:break;}}});button_3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button_3:if(progressBar.getVisibility() == view.GONE){progressBar.setVisibility(View.VISIBLE);}else{progressBar.setVisibility(View.GONE);}break;default:break;}}});}
}

我们通过getVisibility()来判断ProgressBar是否可见,如何可见,就隐形,不可见,就显示出来。这样我们通过不断点击Button3让进度条在显示和隐藏来回切换。

另外,我们可以给ProgressBar指定不同样式,可以是圆形进度条,通过style属性可以将它指定成水平进度条,修改activity_main.xml的代码,如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent">..........<Buttonandroid:id="@+id/button_3"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button3"android:textAllCaps="false"/><ProgressBarandroid:id="@+id/progress_bar"android:layout_width="match_parent"android:layout_height="wrap_content"style="?android:attr/progressBarStyleHorizontal"android:max = "100"/></LinearLayout>

在指定为水平进度条后,我们还可以通过android:max属性给进度条设置一个最大值,然后在代码中动态的更改进度条的进度。修改MainActivity中的代码,如下:

package com.example.uiwidgettest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity {private  EditText editText;//在这里单独定义private ImageView imageView;private ProgressBar progressBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button_1 = (Button)findViewById(R.id.button_1);Button button_2 = (Button)findViewById(R.id.button_2);Button button_3 = (Button)findViewById(R.id.button_3);editText = (EditText)findViewById(R.id.edit_text);imageView = (ImageView)findViewById(R.id.image_view);progressBar = (ProgressBar)findViewById(R.id.progress_bar);........button_3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button_3:int progress = progressBar.getProgress();progress = progress + 10;progressBar.setProgress(progress);break;default:break;}}});}
}

这样呢,每点一次按钮,我们都会获取进度条的当前进度,然后在现有的进度条上加10作为更新后的进度。

ParogressBar还有其他几种样式,可以试试。

  • AlertDialog

AlertDialog可以在当前界面弹出一个对话框,这个对话框是位于所有界面元素之上的,能够屏蔽其他控件的交互能力。

修改MainActivity中的代码,(我们可以再添加一个Button4)如下:

package com.example.uiwidgettest;import android.content.DialogInterface;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity {private  EditText editText;//在这里单独定义private ImageView imageView;private ProgressBar progressBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button_1 = (Button)findViewById(R.id.button_1);Button button_2 = (Button)findViewById(R.id.button_2);Button button_3 = (Button)findViewById(R.id.button_3);Button button_4 = (Button)findViewById(R.id.button_4);..................button_4.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button_4:AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);dialog.setTitle("This is Dialog");dialog.setMessage("Something important.");dialog.setCancelable(false);dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {}});dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {}});dialog.show();break;default:break;}}});}
}

首先通过AlertDialog.Builder创建一个AlertDialog的实例,然后可以为这个对话框设置标题,内容,可否用Back键关闭对话框等属性,接下来调用setPostiviteButton()方法为对话框设置确认按钮的点击事件,调用setNegativeButton()方法为对话框设置取消按钮的点击事件。最后将对话框显示出来。

  • ProgressDialog

ProgressDialog和AlertDialog有些类似,都可以再界面弹出对话框,都能够屏蔽其他控件的交互能力,用法也类似。不同的是,ProgressDialog会在对话框中显示一个进度条,一般用于表示当前操作比较费时,需要等待。修改MainActivity中代码,如下:

package com.example.uiwidgettest;import android.app.ProgressDialog;import android.content.DialogInterface;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity {private  EditText editText;//在这里单独定义private ImageView imageView;private ProgressBar progressBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button_1 = (Button)findViewById(R.id.button_1);Button button_2 = (Button)findViewById(R.id.button_2);Button button_3 = (Button)findViewById(R.id.button_3);Button button_4 = (Button)findViewById(R.id.button_4);Button button_5 = (Button)findViewById(R.id.button_5);editText = (EditText)findViewById(R.id.edit_text);imageView = (ImageView)findViewById(R.id.image_view);progressBar = (ProgressBar)findViewById(R.id.progress_bar);........button_5.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button_5:ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);progressDialog.setTitle("This is ProgressDialog!");progressDialog.setMessage("Loading");progressDialog.setCancelable(true);progressDialog.show();break;default:break;}}});}
}

如果在setCancelable()中传入了false,表示ProgressDialog是不能通过Back键取消掉的。程序会陷入死机状态,ProgressDialog会一直存在。








本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计 色彩 构图 创意_我们可以从时尚的创意方向中学到色彩

设计 色彩 构图 创意The application of fashion as a form of aesthetic expression is a notion familiar to many. Every day, we curate ourselves with inspiration from rising trends, a perception of our personal preferences, and regards to practicality in the c…

Android 第六课 4种基本布局之LinearLayout和Relativelayout

看完控件&#xff0c;紧接着看布局&#xff0c;布局是可以来放置控件&#xff0c;管理控件的。布局里也可以嵌套布局。我们新建项目UILayoutTest项目&#xff0c;活动名和布局名选择默认。加入活动及其对应的布局已经创建完成。线性布局(LinearLayout)android:layout_gravity属…

如何在UI设计中制作完美阴影

重点 (Top highlight)Shadows are everywhere in modern UI Designs. They are one of the most essential part of the UI elements right behind the fill, stroke, and cornder radius. &#x1f609;现代UI设计中到处都有阴影。 它们是UI元素中最重要的部分之一&#xff0c…

微软2013年校园实习生招聘笔试题及答案

原文&#xff1a; http://www.wangkaimin.com/2013/04/07/%e5%be%ae%e8%bd%af2013%e5%b9%b4%e6%a0%a1%e5%9b%ad%e5%ae%9e%e4%b9%a0%e7%94%9f%e6%8b%9b%e8%81%98%e7%ac%94%e8%af%95%e9%a2%98%e5%8f%8a%e7%ad%94%e6%a1%88/#more-195 1. Which of following calling convension(s)…

Android 第七课 4种基本布局之FrameLayout和百分比布局

FrameLayout&#xff08;帧布局&#xff09;&#xff0c;她没有方便的定位方式&#xff0c;所有的控件都会默认摆放在布局的左上角。 修改activity_main.xml中的代码&#xff0c;如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <Frame…

mongodb 群集图_群集和重叠条形图

mongodb 群集图为什么和如何 (Why & How) 1.- Clustered Bar Charts1.- 集群条形图 AKA: grouped, side-by-side, multiset [bar charts, bar graphs, column charts]AKA &#xff1a;分组&#xff0c;并排&#xff0c;多组[条形图&#xff0c;条形图&#xff0c;柱形图] …

第一次写python

这是一个在BJDP上学习Coding Kata的时候用到的一个练习&#xff0c;原来打算用Java写的&#xff0c;但是一想正好是学习的好机会。 就用Python了。第一次&#xff0c;写的有些复杂。 这个题目是关于购买图书的打折信息的。 题目来源&#xff1a; http://codingdojo.org/cgi-bin…

Android 第八课 创建自定义控件

常用控件和布局的继承结构&#xff0c;如下图&#xff1a; &#xff08;待续。。。。&#xff09; 所有的控件都是直接或间接继承自View的&#xff0c;所用的所有布局都是直接或间接继承自ViewGroup的&#xff0c;View是Android中最基本的一种UI组件&#xff0c;它可以在屏幕上…

figma下载_搬到Figma对我意味着什么

figma下载A couple of years ago, amidst the boom of new design and prototyping software, I was pretty reluctant to fight on the Figma/Sketch cold war. I was working on a relatively small design team and, after years helping to design products, well sold on …

解决IE中img.onload失效的方法

解决IE中img.onload失效的方法 - CoffeeCats IT Blog - IT博客http://www.cnitblog.com/CoffeeCat/archive/2008/02/01/39533.htmlFirefox、Google Chrome不存在问题&#xff01;为什么onload没有被IE调用呢&#xff1f;因为IE会缓存图片&#xff0c;第2次加载的图片&#xff0…

Android 第九课 常用控件-------ListView

ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内&#xff0c;同时屏幕上原有数据将会滚动出屏幕。 1、ListView简单用法 如何将ListView将你要显示的大量内容关联起来呢&#xff1f;这是个很重要的问题。 1、首先我们必须先将数据提供好&#xff0c;因为你的…

Singleton patterns 单件(创建型模式)

1、模式分类 1.1 从目的来看&#xff1a; • – 创建型&#xff08;Creational&#xff09;模式&#xff1a;负责对象创建。 • – 结构型&#xff08;Structural&#xff09;模式&#xff1a;处理类与对象间的组合。 • – 行为型&#xff08;Behavioral&…

Android 第十一课 SQlite 数据库存储

Android 为了让我们能够更加方便的管理数据库&#xff0c;特意提供了一个SQLiteOpenHelper帮助类&#xff0c;通过借助这个类就可以非常简单的对数据库进行创建和升级。 SQLiteOpenHelper是一个抽象类&#xff0c;我们要创建一个自己的帮助类去继承它。SQLiteOpenHelper有两个抽…

浅析SQL Server 2005中的主动式通知机制

一、引言 在开发多人同时访问的Web应用程序&#xff08;其实不只这类程序&#xff09;时&#xff0c;开发人员往往会在缓存策略的设计上狠下功夫。这是因为&#xff0c;如果将这种环境下不常变更的数据临时存放在应用程序服务器或是用户机器上的话&#xff0c;可以避免频繁地往…

Android 第十二课 使用LitePal操作数据库(记得阅读最后面的注意事项哦)

一、LitePal简介 1、(新建项目LitePalTest)正式接触第一个开源库---LitePalLitePal是一款开源的Android 数据库框架&#xff0c;它采用了对象关系映射&#xff08;ORM&#xff09;的模式。2、配置LitePal&#xff0c;编辑app/build.gradle文件&#xff0c;在dependencies闭包中…

listview频繁刷新报错

在Android编程中使用Adapter时&#xff0c;偶尔会出现如下错误&#xff1a;The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI t…

Android 第十三课 SharedPreferences存储

SharedPreferences是使用键值对的方式来存储数据的。当保存一条数据时&#xff0c;需要给这条数据提供一个对应的键&#xff0c;这样在读取数据的时候就可以通过这个键把相应的值取出来。而且支SharedPreferences还支持多种不同的数据类型存储&#xff0c;例如&#xff1a;如果…

DSP的Gel作用

转自&#xff1a;http://blog.csdn.net/azhgul/article/details/6660960最近刚在研究Davinci系&#xff0c;特此MARK下&#xff0c;以资后续学习之用。 DSP的Gel作用 1 GEL文件基本作用 当CCSStudio启动时&#xff0c;GEL文件加载到PC机的内存中&#xff0c;如果定义了StartUp(…

解决关于登录校园网显示不在IP段的问题方案(要看注意事项哦!)

有时&#xff0c;登录校园网&#xff0c;账号和密码都显示正确&#xff0c;但是却显示出“账号只能在指定IP段登录”的问题。 那我们就提供了一个解决方案&#xff1a; 使用WinR,并在输入框&#xff0c;输入cmd命令&#xff1a;&#xff08;如下&#xff09;接着输入&#xff1…

jquery插件编写

jQuery为开发插件提拱了两个方法&#xff0c;分别是&#xff1a; jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。可以理解为添加静态方法。是全局的&#xff08;位于jQuery命名空间内部的函数&#xff09;…