#android #textview #footer #android-bottomnav
#Android #textview #нижний колонтитул #android-bottomnav
Вопрос:
Проблема, с которой я столкнулся, когда (Linearlayout) было установлено значение alignParentBottom, которое содержало его (TextView), а затем упаковать RelativeLayout в scrollview (чтобы при появлении клавиатуры были видны все виды) — однако, когда появляется клавиатура и режим ScrollView TextView становится нерегулярным с другими текстовыми представлениями (например, изображениями).
как решить мою проблему ниже, я хочу, чтобы в alignParentBottom было свободное место при отображении scrollview и клавиатуры.
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<RelativeLayout
android:id="@ id/badan"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:gravity="center_vertical"
android:padding="20dp">
<!-- Header Starts-->
<LinearLayout android:id="@ id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:layout_marginTop="50dp"
android:layout_marginBottom="15dp"
android:gravity="center"
android:paddingBottom="5dip">
<!-- Logo Start-->
<ImageView android:src="@drawable/logo"
android:layout_width="100dp"
android:layout_height="100dp"/>
<!-- Logo Ends -->
</LinearLayout>
<!-- Header Ends -->
<!-- Login Form -->
<LinearLayout
android:id="@ id/loginform"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dip"
android:layout_below="@id/header">
<!-- Email Label -->
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:padding="10dp"
android:background="@drawable/forminput"
android:inputType="textEmailAddress"
android:singleLine="true"
android:hint="Email" />
<!-- Password Label -->
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:padding="10dp"
android:background="@drawable/forminput"
android:singleLine="true"
android:inputType="textPassword"
android:hint="Kata Sandi"/>
<!-- Login button -->
<Button android:id="@ id/btnLogin"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:background="@drawable/button"
android:text="Login"
android:textColor="@color/white"
android:textSize="17dp"/>
<!-- Link to Registration Screen -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Lupa detail informasi masuk Anda? Dapatkan bantuan untuk masuk."
android:textSize="14sp"
android:gravity="center"/>
</LinearLayout>
</LinearLayout>
<!-- Login Form Ends -->
<!-- Footer Start-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_alignParentBottom="true"
android:gravity="center"
android:layout_height="wrap_content"
android:padding="15dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tidak punya akun?"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Buat akun."
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
<!-- Footer Ends -->
</RelativeLayout>
</ScrollView>
Ответ №1:
Вы могли бы добавить android:windowSoftInputMode="adjustPan"
в свой AndroidManifest.xml файл
Укажите идентификатор вашего нижнего колонтитула. (android: id =»@ id / нижний колонтитул»).И добавьте это в свою активность
LinearLayout footer = (EditText) findViewById(R.id.footer);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editTextSearch.getWindowToken(), 0);
Если это не сработает, вы должны обернуть свой ScrollView с помощью RelativeLayout
<RelativeLayout>
<ScrollView>
......
</ScrollView>
</RelativeLayout>