Android Basics Getting Started tutorial--2.3.2 EditText (input box) Detailed
Source: Internet
Author: User
<span id="Label3"></p>Android Basics Getting Started tutorial--2.3.2 EditText (input box) Detailed<p><p>Tags (space delimited): android basics Getting Started Tutorial</p></p>Introduction to this Section:<p><p>In the previous section we learned the first UI control <strong>TextView (text box)</strong>, which gives a number of requirements that may be encountered in actual development<br>Solution should be convenient for your development, in this section we will learn the second very common control <strong>EditText (input box)</strong>;<br>and TextView very similar, the biggest difference is: EditText can accept user input! As before, we don't talk about attributes,<br>Only the actual application, to buckle properties can view the API Documentation: API documentation; then start this section!</p></p>1. Set default prompt text <blockquote> <blockquote> <p>For example, I believe you are not unfamiliar with this user login interface, yes, We often use this interface</p> <p> </p> <p>How about this, compared to the other?</p> <p> </p> <p>Not bad, of course, not a layout here, only two control properties for the default prompt text are described here:</p> </blockquote> </blockquote><p><p>The two properties of the default prompt text are as follows:</p></p><pre class="prettyprint"><pre class="prettyprint"><code class="language-XML hljs axapta"> android:<span class="hljs-keyword">hint</span>=<span class="hljs-string">"默认提示文本"</span> android:textColorHint=<span class="hljs-string">"#95A1AA"</span></code></pre></pre><p><p>The former sets the text content of the hint, the latter sets the color of the hint text!</p></p>2. All text content in the selected component after getting focus <blockquote> <blockquote> <p>Instead of moving the cursor to the beginning or the end of the text when we click on it to get the focus of our input box,<br>Get all the text content into the input box! This time we can use the <strong>selectallonfocus</strong> property</p> </blockquote> </blockquote><pre class="prettyprint"><pre class="prettyprint"><code class="language-XML hljs avrasm"><span class="hljs-label">android:</span>selectAllOnFocus=<span class="hljs-string">"true"</span></code></pre></pre><p><p>For example, the Following:<br>The first one is set for this property, the second is not set for this property, and the EditText is set to true after getting focus<br>All the text is selected!</p></p><p><p></p></p>3. Restricting edittext input type <blockquote> <blockquote> <p>Sometimes we may need to limit the input data, such as when you enter a phone number, you enter a string of letters, which<br>Obviously not in line with our expectations, and restricting input types can be achieved by InputType properties!</p> </blockquote> </blockquote><p><p>For example, limit only for phone number, password (<strong>textpassword</strong>):</p></p><pre class="prettyprint"><pre class="prettyprint"><code class="language-XML hljs xml"><span class="hljs-tag"><<span class="hljs-title">EditText</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"fill_parent"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:inputType</span>=<span class="hljs-value">"phone"</span> /></span> </code></pre></pre><p><p><strong>The optional parameters are as Follows:</strong></p></p><p><p><strong>Text type, many uppercase, lowercase, and number symbols</strong></p></p><pre class="prettyprint"><code class="language-XML hljs bash">Android:inputtype=<span class="hljs-string"><span class="hljs-string">"none"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"text"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textcapcharacters"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textcapwords"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textcapsentences"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textautocorrect"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textautocomplete"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textmultiline"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textimemultiline"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textnosuggestions"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"texturi"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textemailaddress"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textemailsubject"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textshortmessage"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textlongmessage"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textpersonname"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textpostaladdress"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textpassword"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textvisiblepassword"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textwebedittext"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textfilter"</span></span>Android:inputtype=<span class="hljs-string"><span class="hljs-string">"textphonetic"</span></span> </code></pre><p><p><strong>Numeric type</strong></p></p><pre class="prettyprint"><pre class="prettyprint"><code class="language-XML hljs cs"> android:inputType=<span class="hljs-string">"number"</span> android:inputType=<span class="hljs-string">"numberSigned"</span> android:inputType=<span class="hljs-string">"numberDecimal"</span> android:inputType=<span class="hljs-string">"phone"</span><span class="hljs-comment">//拨号键盘 </span> android:inputType=<span class="hljs-string">"datetime"</span> android:inputType=<span class="hljs-string">"date"</span><span class="hljs-comment">//日期键盘 </span> android:inputType=<span class="hljs-string">"time"</span><span class="hljs-comment">//时间键盘 </span></code></pre></pre>4. Set minimum line, maximum line, single line, multiline, wrap line <blockquote> <blockquote> <p>EditText is displayed by default on multiple lines, and can be wrapped automatically, that is, when a row is displayed, he automatically changes to the second Line.</p> </blockquote> </blockquote><p><p></p></p> <blockquote> <blockquote> <p>We can restrict it, such as<br>Set the number of rows for the smallest row:<strong>android:minlines= "3"</strong><br>or set EditText maximum number of rows:<strong>android:maxlines= "3"</strong><br>PS: when the input content exceeds maxline, the text will scroll up automatically!!</p> </blockquote> </blockquote><p><p>In other cases, we may want to restrict edittext to allow only one-line input, and will not scroll, such as the above login interface<br>example, we only need to set</p></p><pre class="prettyprint"><pre class="prettyprint"><code class="language-XML hljs avrasm"><span class="hljs-label">android:</span>singleLine=<span class="hljs-string">"true"</span></code></pre></pre><p><p>You can implement single line input without wrapping</p></p>5. Set the text spacing, set the English letter capitalization type<p><p>We can set the spacing of words by the following two properties:</p></p><pre class="prettyprint"><pre class="prettyprint"><code class="language-XML hljs cs">android:textScaleX=<span class="hljs-string">"1.5"</span> <span class="hljs-comment">//设置字与字的水平间隔</span>android:textScaleY=<span class="hljs-string">"1.5"</span> <span class="hljs-comment">//设置字与字的垂直间隔</span></code></pre></pre><p><p>In addition, EditText provides us with the properties for setting the English letter capitalization type:<strong>android:capitalize</strong><br>Default none, three optional values are available:</p></p> <blockquote> <blockquote> <ul> <li><strong>sentences:</strong> Only the first letter of capitalization</li> <li><strong>Words:</strong> The first letter size of each word, the word is distinguished by a space</li> <li><strong>characters:</strong> Every English letter is capitalized</li> </ul> </blockquote> </blockquote>6. Control the distance between the distance between the EditText and the inner text and the border <blockquote> <blockquote> <p>We use the <strong>margin</strong> correlation property to increase the distance of the component relative to other controls, such as Android:margintop = "5dp"<br>Use <strong>padding</strong> to increase the distance of text and component borders within a component, such as Android:paddingtop = "5dp"</p> </blockquote> </blockquote>7. Set EditText to get focus while ejecting the keypad <blockquote> <blockquote> <p>About this edittext get focus, pop-up keypad problem, before soon the project tangled up the author for some time<br>Demand Is: Enter activity, let EditText get focus, and pop up keypad for user input!<br>Try a lot of online methods are not, do not know is because I use the 5.1 system of problems!<br>Under the summary below:</p> </blockquote> </blockquote><p><p>The first is to get edittext to focus and clear the Focus.</p></p> <blockquote> <blockquote> <p>Edit. <strong>Requestfocus</strong> (); Request to get focus<br>Edit. <strong>Clearfocus</strong> (); Clear Focus</p> </blockquote> </blockquote><p><p>After getting the focus, the keypad pops up, and I spend most of the time on This:</p></p> <blockquote> <blockquote> <ul> <li>The lower version of the system directly Requestfocus will automatically eject the Keypad.</li> <li>A slightly higher version requires us to manually play the Keyboard:<br>The first type:</li> </ul> </blockquote> </blockquote><pre><pre><code>InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);</code></pre></pre> <blockquote> <blockquote> <p>The second type:</p> </blockquote> </blockquote><pre><pre><code>InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(view,InputMethodManager.SHOW_FORCED); imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘 </code></pre></pre><p><p>Do not know what is the reason, the above two methods did not pop up the keypad, the author finally used:<strong>Windowsoftinputmode</strong> properties to solve the problem of pop-up keypad, here to share with you:</p></p> <blockquote> <blockquote> <p><strong>Android:windowsoftinputmode</strong><br>Activity main window and soft keyboard interaction mode, can be used to avoid Input Panel occlusion problem, after Android1.5 a new feature.<br>This genus affects two things:<br>"one" when the focus is generated, the soft keyboard is hidden or displayed<br>"two" reduces the active main window size to make room for the soft keyboard</p> <p>The simple point is keyboard control with focus and whether to reduce the window size of the act to place the keypad<br>You have the following values to choose from, you can set multiple values and use the "|" Separate<br><strong>stateunspecified</strong>: The state of the soft keyboard is not specified and the system will select an appropriate state or a theme-dependent setting<br><strong>stateunchanged</strong>: When this activity appears, the soft keyboard will remain in the previous activity, whether it is hidden or displayed<br><strong>Statehidden</strong>: The soft keyboard is always hidden when the user chooses activity<br><strong>Statealwayshidden</strong>: When the Activity main window gets focus, The soft keyboard is always hidden<br><strong>statevisible</strong>: Soft keyboard is usually visible<br><strong>statealwaysvisible</strong>: The soft keyboard always displays the status when the user chooses activity<br><strong>adjustunspecified</strong>: Default setting, which is usually determined by the system to hide or show itself<br><strong>adjustresize</strong>: The activity always adjusts the size of the screen to allow space for the soft keyboard<br><strong>Adjustpan</strong>: The contents of the current window will automatically move so that the current focus is never covered by the keyboard and the user can always see the part of the input</p> </blockquote> </blockquote><p><p>We can set this property in Androidmanifest.xml for activity that needs to eject the keypad, such as:</p></p><p><p></p></p><p><p>Then in the EditText object Requestfocus () will be able to ~</p></p>8.EditText Control of Cursor position <blockquote> <blockquote> <p>Sometimes we may need to control the cursor in the edittext to move to the specified position or select some text!<br>EditText provides us with a method of <strong>setselection</strong>() in two forms:</p> <p><br>One parameter is the setting of the cursor position, two parameters is the set start position and end position in the middle of the section, that is, partially selected!<br>Of course we can also call <strong>setselectallonfocus (true)</strong>; let EditText get the focus when all the text is selected!<br>In addition we can call <strong>setcursorvisible (false)</strong>and set the cursor to not display<br>You can also call G**etselectionstart () <strong>and **getselectionend</strong> to get the front and back position of the current cursor</p> </blockquote> </blockquote>9. Simple implementation of edittext with emoticons<p><p>I believe that everyone is familiar with qq, we send text can be sent together with the expression, there are two simple ways to achieve:</p></p> <blockquote> <blockquote> <p>1. Use spannablestring to achieve<br>2. Use HTML classes to implement<br>Here the author uses is the first, here only to achieve a simple effect, we can draw out the method, custom a edittext;<br>You can also write a similar to QQ as there are multiple expression selection input box!</p> </blockquote> </blockquote><p><p>Look under (click add expression to complete the expression add):</p></p><p><p></p></p><p><p>The code is also simple:</p></p><pre class="prettyprint"><code class="language-Java hljs java"><span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-class"><span class="hljs-class"> <span class="hljs-keyword">class</span> <span class="hljs-title">mainactivity</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Activity</span> {</span></span> <span class="hljs-keyword"><span class="hljs-keyword">Private</span></span>Button btn_add;<span class="hljs-keyword"><span class="hljs-keyword">Private</span></span>EditText edit_one;<span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-keyword"><span class="hljs-keyword">protected</span></span> <span class="hljs-keyword"><span class="hljs-keyword">void</span></span> <span class="hljs-title"><span class="hljs-title">onCreate</span></span>(Bundle Savedinstancestate) {<span class="hljs-keyword"><span class="hljs-keyword">Super</span></span>. onCreate (savedinstancestate); Setcontentview (r.layout.activity_main); Btn_add = (Button) Findviewbyid (r.id.btn_add); Edit_one = (EditText) Findviewbyid (r.id.edit_one); Btn_add.setonclicklistener (<span class="hljs-keyword"><span class="hljs-keyword">New</span></span>Onclicklistener () {<span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-keyword"><span class="hljs-keyword">void</span></span> <span class="hljs-title"><span class="hljs-title">OnClick</span></span>(View V) {spannablestring Spanstr =<span class="hljs-keyword"><span class="hljs-keyword">New</span></span>Spannablestring (<span class="hljs-string"><span class="hljs-string">"imge"</span></span>); drawable drawable = Mainactivity.<span class="hljs-keyword"><span class="hljs-keyword"></span> this</span>. getresources (). getdrawable (r.drawable.f045); Drawable.setbounds (<span class="hljs-number"><span class="hljs-number">0</span></span>,<span class="hljs-number"><span class="hljs-number">0</span></span>, Drawable.getintrinsicwidth (), drawable.getintrinsicheight ()); Imagespan span =<span class="hljs-keyword"><span class="hljs-keyword">New</span></span>Imagespan (drawable,imagespan.align_baseline); Spanstr.setspan (span,<span class="hljs-number"><span class="hljs-number">0</span></span>,<span class="hljs-number"><span class="hljs-number">4</span></span>, spannable.span_exclusive_exclusive);<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>cursor = Edit_one.getselectionstart (); Edit_one.gettext (). Insert (cursor, spanstr); } }); }}</code></pre><p><p>PS: yes, Don't forget to put a picture Oh ~</p></p>10. EditText with Delete button <blockquote> <blockquote> <p>We often see in the App's input interface:</p> <p><br>When we enter the content, there will be a small fork on the right side of the icon, we will click to empty the contents of the input box!<br>It's really Simple to implement:<br>Set Addtextchangedlistener for EditText and rewrite the abstract method in Textwatcher (), which is used to listen for changes in the input box. And then setcompounddrawableswithintrinsicbounds set the picture of the small fork; finally, rewrite the ontouchevent method, if the click Area is the position of the small fork picture, clear the text!</p> <p>The implementation code is as Follows:</p> </blockquote> </blockquote><pre class="prettyprint"><code class="language-Java hljs java"><span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-class"><span class="hljs-class"> <span class="hljs-keyword">class</span> <span class="hljs-title">edittextwithdel</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">EditText</span> {</span></span> <span class="hljs-keyword"><span class="hljs-keyword">Private</span></span> <span class="hljs-keyword"><span class="hljs-keyword">Final</span></span> <span class="hljs-keyword"><span class="hljs-keyword">Static</span></span>String TAG =<span class="hljs-string"><span class="hljs-string">"edittextwithdel"</span></span>;<span class="hljs-keyword"><span class="hljs-keyword">Private</span></span>Drawable imginable;<span class="hljs-keyword"><span class="hljs-keyword">Private</span></span>Drawable imgable;<span class="hljs-keyword"><span class="hljs-keyword">Private</span></span>Context mcontext;<span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-title"><span class="hljs-title">Edittextwithdel</span></span>(context Context) {<span class="hljs-keyword"><span class="hljs-keyword">Super</span></span>(context); Mcontext = context; Init (); }<span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-title"><span class="hljs-title">Edittextwithdel</span></span>(context context, AttributeSet Attrs) {<span class="hljs-keyword"><span class="hljs-keyword">Super</span></span>(context, attrs); Mcontext = context; Init (); }<span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-title"><span class="hljs-title">Edittextwithdel</span></span>(context context, AttributeSet attrs,<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Defstyleattr) {<span class="hljs-keyword"><span class="hljs-keyword">Super</span></span>(context, attrs, defstyleattr); Mcontext = context; Init (); }<span class="hljs-keyword"><span class="hljs-keyword">Private</span></span> <span class="hljs-keyword"><span class="hljs-keyword">void</span></span> <span class="hljs-title"><span class="hljs-title">Init</span></span>() {imginable = mcontext.getresources (). getdrawable (r.drawable.delete_gray); Addtextchangedlistener (<span class="hljs-keyword"><span class="hljs-keyword">New</span></span>Textwatcher () {<span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-keyword"><span class="hljs-keyword">void</span></span> <span class="hljs-title"><span class="hljs-title">ontextchanged</span></span>(charsequence s,<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Start<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>before,<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Count) {}<span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-keyword"><span class="hljs-keyword">void</span></span> <span class="hljs-title"><span class="hljs-title">beforetextchanged</span></span>(charsequence s,<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Start<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Count<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>After) {}<span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-keyword"><span class="hljs-keyword">void</span></span> <span class="hljs-title"><span class="hljs-title">aftertextchanged</span></span>(Editable S) {setdrawable (); } }); Setdrawable (); }<span class="hljs-comment"><span class="hljs-comment">//set Delete Picture</span></span> <span class="hljs-keyword"><span class="hljs-keyword">Private</span></span> <span class="hljs-keyword"><span class="hljs-keyword">void</span></span> <span class="hljs-title"><span class="hljs-title">setdrawable</span></span>() {<span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(length () <<span class="hljs-number"><span class="hljs-number">1</span></span>) Setcompounddrawableswithintrinsicbounds (<span class="hljs-keyword"><span class="hljs-keyword">NULL</span></span>,<span class="hljs-keyword"><span class="hljs-keyword">NULL</span></span>,<span class="hljs-keyword"><span class="hljs-keyword">NULL</span></span>,<span class="hljs-keyword"><span class="hljs-keyword">NULL</span></span>);<span class="hljs-keyword"><span class="hljs-keyword">Else</span></span>Setcompounddrawableswithintrinsicbounds (<span class="hljs-keyword"><span class="hljs-keyword">NULL</span></span>,<span class="hljs-keyword"><span class="hljs-keyword">NULL</span></span>, imginable,<span class="hljs-keyword"><span class="hljs-keyword">NULL</span></span>); }<span class="hljs-comment"><span class="hljs-comment">//handling Delete Events</span></span> <span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-keyword"><span class="hljs-keyword"></span> public</span> <span class="hljs-keyword"><span class="hljs-keyword">Boolean</span></span> <span class="hljs-title"><span class="hljs-title">ontouchevent</span></span>(motionevent Event) {<span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(imgable! =<span class="hljs-keyword"><span class="hljs-keyword">NULL</span></span>&& event.getaction () = = Motionevent.action_up) {<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Eventx = (<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>) Event.getrawx ();<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Eventy = (<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>) Event.getrawy (); LOG.E (TAG,<span class="hljs-string"><span class="hljs-string">"eventx ="</span></span>+ Eventx +<span class="hljs-string"><span class="hljs-string">"; Eventy = "</span></span>+ eventy); Rect rect =<span class="hljs-keyword"><span class="hljs-keyword">New</span></span>Rect (); Getglobalvisiblerect (rect); Rect.left = rect.right-<span class="hljs-number"><span class="hljs-number"></span> -</span>;<span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(rect.contains (eventx, eventy)) SetText (<span class="hljs-string"><span class="hljs-string">""</span></span>); }<span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-keyword"><span class="hljs-keyword">Super</span></span>. ontouchevent (event); }<span class="hljs-annotation"><span class="hljs-annotation">@Override</span></span> <span class="hljs-keyword"><span class="hljs-keyword">protected</span></span> <span class="hljs-keyword"><span class="hljs-keyword">void</span></span> <span class="hljs-title"><span class="hljs-title">Finalize</span></span>()<span class="hljs-keyword"><span class="hljs-keyword">throws</span></span>Throwable {<span class="hljs-keyword"><span class="hljs-keyword">Super</span></span>. Finalize (); }}</code></pre>This section summarizes: <blockquote> <blockquote> <p>This section introduces you to the EditText (input Box) control in the Android UI control, there are a lot of uses, of course, the above situation certainly can not meet the actual needs, in real development we may need to customize according to their own needs edittext! Of course, This involves a high-level theme of custom controls, and in the Advanced section we will explain the custom controls in Android in detail! Now it's going to Work.</p> </blockquote> </blockquote> <p style="font-size:12px;"><p style="font-size:12px;">Copyright Notice: This article for Bo Master original article, without Bo Master permission not Reproduced.</p></p> <p><p>Android Basics Getting Started tutorial--2.3.2 EditText (input box) Detailed</p></p></span>
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.
A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service