آموزش Request Focus در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش Request Focus در برنامه نویسی اندروید می پردازیم همانطور که نام آن پیدا است به معنی درخواست برای focus کردن بروی یک شئی مورد استفاده قرار می گیرد در ادامه با ما همراه باشید.
دو راه برای focus کردن وجود دارد یک از طریق کد و دومی از طریق layout
برای اینکه بروی یک view مثلا EditText فوکس (focus) کنید از کد زیر استفاده کنید.
edittext.requestFocus();
از طریق layout
<EditText
android:id="@+id/editText1"
android:hint="EditText 1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="60dp"
android:ems="10"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
با این کار در EditText وقتی وارد برنامه می شوید کیبور به شکل اتومایتک برای تایپ برای شما نمایش داده می شود. البته این کار زیاد جالب نیست.
در ادامه به یک مثال خواهیم پرداخت.
ابتدا در Layout خود کد زیر را قرار دهید. نام Layout در اینجا برابر با activity_main.xml است.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/editText1"
android:hint="EditText 1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="60dp"
android:ems="10"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:hint="EditText 2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp"
android:ems="10"
android:inputType="textPersonName" />
</RelativeLayout>
و کد مربوط به MainActivity.java همانند زیر می شود.
package ir.programchi;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
کد خاصی قرار نداده ایم.
و در صورتی که می خواید به صورت Dynamic باشد
package ir.programchi;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.EditText;
public class MainActivity extends Activity {
EditText et1, et2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1 = (EditText) findViewById(R.id.editText1);
et2 = (EditText) findViewById(R.id.editText2);
et2.requestFocus();
}
}
این آموزش هم به پایان رسید.
موفق و پیروز باشید.
آموزش برنامه نویسی اندروید |