I try both methods addling line android:windowSoftInputMode="adjustPan"
in manifest or adding getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
on Fragment onCreateView but still facing the same issue. That when i type in the my custom EditText the screen does not auto resize.
here is my fragment:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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"
android:background="@color/white"
android:fillViewport="true"
tools:context=".Fragments.HelpersFrag.UseAvailablePackage.AddListBasicFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:orientation="vertical">
<include layout="@layout/firstpage_indicator_layout" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="24dp"
android:orientation="horizontal">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:contentDescription="@string/pencil_icon"
android:src="@drawable/pencil_icon" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
style="@style/TextViewTitles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/basic" />
<include
android:id="@+id/edt_jobTitle"
layout="@layout/custom_edittext" />
<include
android:id="@+id/cbAceptCreditCard"
layout="@layout/checkbox_layout" />
<include
android:id="@+id/cbCoupons"
layout="@layout/checkbox_layout" />
<include
android:id="@+id/cbSos"
layout="@layout/checkbox_layout" />
<include
android:id="@+id/cbNonSmoker"
layout="@layout/checkbox_layout" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
My Custom EditText:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:are="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_marginTop="15dp"
android:background="@drawable/boundaries">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/bottombar"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:padding="5dp">
<com.chinalwb.are.AREditText
android:id="@+id/arEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top|left"
android:hint="@string/job_description" />
</ScrollView>
<LinearLayout
android:id="@+id/bottombar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:gravity="center"
android:padding="5dp"
android:orientation="horizontal"
android:paddingEnd="8dp"
android:paddingRight="8dp"
android:weightSum="1000"
tools:ignore="RtlSymmetry">
<com.chinalwb.are.styles.toolbar.ARE_ToolbarDefault
android:id="@+id/areToolbar"
android:layout_width="0dp"
android:layout_height="20dp"
android:layout_weight="1000"
android:gravity="center_vertical"/>
<ImageButton
android:id="@+id/btnUnlink"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="11dp"
android:layout_marginLeft="11dp"
android:background="@color/transparent_color"
android:contentDescription="@string/text_unlink"
android:scaleType="fitCenter"
android:src="@drawable/unlink_icon" />
<ImageButton
android:id="@+id/btnUndo"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="11dp"
android:layout_marginLeft="11dp"
android:background="@color/transparent_color"
android:contentDescription="@string/text_undo"
android:scaleType="fitCenter"
android:src="@drawable/undo_icon" />
<ImageButton
android:id="@+id/btnRedo"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="11dp"
android:layout_marginLeft="11dp"
android:background="@color/transparent_color"
android:contentDescription="@string/text_redo"
android:scaleType="fitCenter"
android:src="@drawable/redo_icon" />
</LinearLayout>
</RelativeLayout>
checkbox
<?xml version="1.0" encoding="utf-8"?>
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/checkbox_selector"
android:fontFamily="@font/raleway_bold"
android:text="@string/financial_planning"
android:textColor="@color/texthint_color"
android:textSize="13sp"
android:padding="10dp"
android:theme="@style/CheckBox" />
AddListFragment.java
package com.blendev.niffty.Fragments.HelpersFrag.UseAvailablePackage;
import android.annotation.SuppressLint;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import com.blendev.niffty.Constants.Constants;
import com.blendev.niffty.Fragments.BaseFragment;
import com.blendev.niffty.R;
import com.chinalwb.are.AREditText;
import com.chinalwb.are.styles.toolbar.IARE_Toolbar;
import com.chinalwb.are.styles.toolitems.ARE_ToolItem_Bold;
import com.chinalwb.are.styles.toolitems.ARE_ToolItem_Italic;
import com.chinalwb.are.styles.toolitems.ARE_ToolItem_Link;
import com.chinalwb.are.styles.toolitems.ARE_ToolItem_ListBullet;
import com.chinalwb.are.styles.toolitems.ARE_ToolItem_ListNumber;
import com.chinalwb.are.styles.toolitems.IARE_ToolItem;
import com.google.android.material.snackbar.Snackbar;
import java.util.ArrayList;
import java.util.List;
import ren.qinc.edit.PerformEdit;
public class AddListBasicFragment extends BaseFragment {
Button btnNext;
CheckBox cbCreditCard, cbCoupons, cbSos, cbNonSmoker;
View view;
private IARE_Toolbar mToolbar;
private AREditText mEditText;
PerformEdit mPerformEdit;
EditText edtTitle;
ImageButton btnUndo, btnRedo, btnUnlink;
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
String selectedText;
private String mParam1;
private String mParam2;
List arrayList;
public AddListBasicFragment() {
}
public static AddListBasicFragment newInstance(String param1, String param2) {
AddListBasicFragment fragment = new AddListBasicFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_add_list_basic, container, false);
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
initView();
initToolbar();
return view;
}
void initView() {
Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
toolbar.setTitle("");
arrayList = new ArrayList<String>();
ImageButton btnClose = (ImageButton) view.findViewById(R.id.btnClose);
edtTitle = view.findViewById(R.id.edt_jobTitle);
btnNext = view.findViewById(R.id.btnNext_id);
cbCreditCard = view.findViewById(R.id.cbAceptCreditCard);
cbCoupons = view.findViewById(R.id.cbCoupons);
cbSos = view.findViewById(R.id.cbSos);
cbNonSmoker = view.findViewById(R.id.cbNonSmoker);
btnUndo = view.findViewById(R.id.btnUndo);
btnRedo = view.findViewById(R.id.btnRedo);
btnUnlink = view.findViewById(R.id.btnUnlink);
cbCreditCard.setText(R.string.cbAcceptCreditCard);
cbCoupons.setText(R.string.cbCoupons);
cbSos.setText(R.string.cbSosHelper);
cbNonSmoker.setText(R.string.cbNonSmoker);
edtTitle.setHint(R.string.job_title);
btnClose.setOnClickListener(this);
btnNext.setOnClickListener(this);
btnUndo.setOnClickListener(this);
btnRedo.setOnClickListener(this);
btnUnlink.setOnClickListener(this);
}
private void initToolbar() {
mToolbar = view.findViewById(R.id.areToolbar);
IARE_ToolItem bold = new ARE_ToolItem_Bold();
IARE_ToolItem italic = new ARE_ToolItem_Italic();
IARE_ToolItem listNumber = new ARE_ToolItem_ListNumber();
IARE_ToolItem listBullet = new ARE_ToolItem_ListBullet();
IARE_ToolItem link = new ARE_ToolItem_Link();
mToolbar.addToolbarItem(bold);
mToolbar.addToolbarItem(italic);
mToolbar.addToolbarItem(listNumber);
mToolbar.addToolbarItem(listBullet);
mToolbar.addToolbarItem(link);
mEditText = view.findViewById(R.id.arEditText);
mEditText.setTextSize(13);
mEditText.setToolbar(mToolbar);
mPerformEdit = new PerformEdit(mEditText);
bold.getStyle().getImageView().setImageResource(R.drawable.bold_icon);
bold.getStyle().getImageView().setScaleType(ImageView.ScaleType.CENTER_INSIDE);
italic.getStyle().getImageView().setImageResource(R.drawable.italic_icon);
italic.getStyle().getImageView().setScaleType(ImageView.ScaleType.CENTER_INSIDE);
try {
listNumber.getStyle().getImageView().setImageResource(R.drawable.numbering_icon);
listBullet.getStyle().getImageView().setImageResource(R.drawable.bullet_icon);
link.getStyle().getImageView().setImageResource(R.drawable.link_icon);
} catch (Exception e) {
Log.e("ERROR: ", e.toString());
}
}
@SuppressLint("NonConstantResourceId")
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnNext_id:
String jobTitle = edtTitle.getText().toString();
String jobDescription = mEditText.getText().toString();
validateInputs(jobTitle, jobDescription);
break;
case R.id.btnClose:
getActivity().onBackPressed();
break;
case R.id.btnUndo:
mPerformEdit.undo();
break;
case R.id.btnRedo:
mPerformEdit.redo();
break;
case R.id.btnUnlink:
break;
}
}
void validateInputs(String jobTitle, String jobDescription) {
if (jobTitle.isEmpty() || jobDescription.isEmpty()) {
Log.d("TAG", "String field empty");
Snackbar snackBar = Snackbar.make(getActivity().findViewById(android.R.id.content),
"Please fill the requirements....", Snackbar.LENGTH_LONG);
snackBar.show();
} else {
Bundle bundle = new Bundle();
bundle.putString(Constants.JOB_TITLE, jobTitle);
bundle.putString(Constants.JOB_DESCRIPTION, jobDescription);
arrayList.clear();
if (cbCreditCard.isChecked()) {
arrayList.add(cbCreditCard.getText());
}
if (cbCoupons.isChecked()) {
arrayList.add(cbCoupons.getText());
}
if (cbSos.isChecked()) {
arrayList.add(cbSos.getText());
}
if (cbNonSmoker.isChecked()) {
arrayList.add(cbNonSmoker.getText());
}
Log.d("TAG", "List size: " + arrayList.size());
Fragment imgFileFragment = new ImagesFilesFragment();
imgFileFragment.setArguments(bundle);
this.changeFragment(imgFileFragment, Constants.ADD_LIST_BASIC_FRAGMENT);
}
}
}
Manifest
<activity
android:name=".Activities.MainScreenActivity"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="adjustPan"/>
Try this in the manifest of the particular activity
<activity
android:name=".YourActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateAlwaysHidden|adjustResize/>
or in the oncreate of the activity
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.