#android
#Android
Вопрос:
Я хочу, чтобы экран выглядел так:
![Что я хочу видеть]http://i.stack.imgur.com/E5L4g.png
И я написал следующий код, чтобы получить что-то подобное:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:fillViewport="true">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@ id/txtSendMail"
android:layout_gravity="center"
android:padding="10dip"
android:text="mail@gmail.com">
</EditText>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@ id/txtSubjectMail"
android:layout_gravity="center"
android:padding="10dip"
android:text="Escriba un asunto"
>
</EditText>
<EditText
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@ id/txtBodyMail"
android:layout_gravity="top"
android:padding="10dip"
android:text="Escribe el mensaje aquí."
android:inputType="textMultiLine">
</EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@ id/btnSendMail"
android:text="Send" >
</Button>
</LinearLayout>
</ScrollView>
Но когда я написал EditText, который будет содержать текст письма, я поставил
android:inputType=»textMultiLine»
android:layout_height=»fill_parent»
Я не вижу кнопки. Я уверен, что EditText, который «заполняет» родительский элемент, скрывает его, но я не знаю, какое свойство установить, если я хочу, чтобы EditText был таким же большим, как остальная часть экрана…
Спасибо!
Ответ №1:
Я немного изменил ваш xml. Я думаю, что ваш текст редактирования тела должен прокручиваться, а не весь макет. Поэтому я удалил scrollview. Вот xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@ id/txtSendMail"
android:padding="10dip"
android:text="mail@gmail.com">
</EditText>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@ id/txtSubjectMail"
android:padding="10dip"
android:text="Escriba un asunto"
>
</EditText>
<EditText
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1.0"
android:id="@ id/txtBodyMail"
android:padding="10dip"
android:text="Escribe el mensaje aquí."
android:inputType="textMultiLine">
</EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@ id/btnSendMail"
android:layout_gravity="center_horizontal"
android:text="Send" >
</Button>
</LinearLayout>
Если вы хотите, как и раньше, вы можете использовать свой собственный xml, просто обратите внимание, что атрибуты body edittext должны быть
layout_height="0dip"
layout_weight="1.0"
Это сообщает родительскому устройству, что это представление должно занимать оставшееся место после всех других дочерних представлений.
Комментарии:
1. Спасибо, это было решение. Но я хотел прокрутить весь экран, поэтому я не стал удалять if из своего кода, но рост и вес решили мою проблему 🙂