Reputation: 1720
this is my layout with soft input mode and without soft input mode.
But main problem is when i click next from second last edit text, i want to show those two buttons and last edit text with soft input mode. Please help
my xml file is as follows
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/scroll_bg" >
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="521dp"
android:layout_marginBottom="60dp"
android:background="@drawable/bg" >
<com.deemtech.widgets.MenuLayout
android:id="@+id/menuTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txtCustomerDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="140dp"
android:gravity="center"
android:text="@string/customer_details"
android:textColor="#ffffff"
android:textSize="12sp" />
<EditText
android:id="@+id/editNameCustomerDetails"
style="@style/EditText"
android:layout_below="@+id/txtCustomerDetails"
android:layout_centerHorizontal="true"
android:layout_marginTop="12dp"
android:ems="10"
android:hint="NAME"
android:inputType="text" />
<RelativeLayout
android:id="@+id/innerLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_marginTop="190dp"
android:background="@drawable/bg_create_account1x"
android:gravity="center"
android:paddingBottom="5dp"
android:paddingLeft="25dp"
android:paddingRight="25dp"
android:paddingTop="8dp" >
<EditText
android:id="@+id/editEmailCustomerDetails"
style="@style/EditText"
android:layout_alignLeft="@+id/editPhoneCutomerDetails"
android:layout_alignParentTop="true"
android:layout_marginTop="52dp"
android:ems="10"
android:hint="EMAIL ADDRESS"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/editPhoneCutomerDetails"
style="@style/EditText"
android:layout_below="@+id/editEmailCustomerDetails"
android:layout_marginTop="8dp"
android:ems="10"
android:hint="CONTACT NUMBER"
android:maxLength="12"
android:inputType="phone" />
<!--
<EditText
android:id="@+id/editAdditionalInfo"
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/editPhoneCutomerDetails"
android:layout_alignRight="@+id/editPhoneCutomerDetails"
android:layout_below="@+id/editPhoneCutomerDetails"
android:layout_marginBottom="60dp"
android:layout_marginTop="10dp"
android:background="@drawable/message_additional_box1x"
android:ems="10"
android:hint="ADDITIONAL INFO"
android:inputType="text"
android:padding="10dp"
>
<requestFocus />
</EditText>
-->
<EditText
android:id="@+id/editAdditionalInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editPhoneCutomerDetails"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/editPhoneCutomerDetails"
android:layout_below="@+id/editPhoneCutomerDetails"
android:layout_marginBottom="60dp"
android:layout_marginTop="8dp"
android:hint="ADDITIONAL INFO"
android:background="@drawable/message_additional_box1x"
android:ems="10"
android:singleLine="true"
android:gravity="top"
android:lines="3"
android:padding="10dp"
android:width="150dp" >
<requestFocus />
</EditText>
</RelativeLayout>
<Button
android:id="@+id/btnBackCustomerDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="448dp"
android:layout_toLeftOf="@+id/btnSubmitCustomerDetails"
android:background="@drawable/btn_back"
android:contentDescription="@string/app_name" />
<Button
android:id="@+id/btnSubmitCustomerDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/editNameCustomerDetails"
android:layout_marginTop="448dp"
android:background="@drawable/btn_submit"
android:contentDescription="@string/app_name" />
</RelativeLayout>
</ScrollView>
Upvotes: 1
Views: 6957
Reputation: 1720
with the help of nimish's answer i finally got wat i wanted
editPhoneCustomerDetails.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
findViewById(R.id.btnBackCustomerDetails).requestFocusFromTouch();
findViewById(R.id.editAdditionalInfo).requestFocusFromTouch();
//((ScrollView) findViewById(R.id.scrollView)).fullScroll(View.FOCUS_DOWN);
//findViewById(R.id.editPhoneCutomerDetails).requestFocusFromTouch();
// findViewById(R.id.btnBackCustomerDetails).requestFocusFromTouch();
}
return false;
}
});
findViewById(R.id.editAdditionalInfo).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//findViewById(R.id.btnBackCustomerDetails).setFocusable(true);
findViewById(R.id.btnBackCustomerDetails).requestFocusFromTouch();
findViewById(R.id.editAdditionalInfo).requestFocusFromTouch();
}
});
Upvotes: 0
Reputation: 438
check this link
or
try this android:windowSoftInputMode="adjustResize"
in your activity in manifest
file.
Upvotes: 0
Reputation: 2088
In your case you cant simply "adjustResize" the window. Also as you only want to show the buttons when the last edit text is clicked.
So you can try this approach, not truly suggested but will work for your scenario:
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainf);
findViewById(R.id.editAdditionalInfo).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(sampleMediaPlayer.this, "text", 700).show();
findViewById(R.id.btnBackCustomerDetails).requestFocusFromTouch();
findViewById(R.id.editAdditionalInfo).requestFocusFromTouch();
}
});
}
Upvotes: 3