Ответ 1
Поместите макет в ScrollView.
После запуска упражнения я не могу прокрутить вниз, чтобы увидеть другие кнопки и параметры в xml, определенном ниже.
Кто-нибудь знает, как сделать эту прокрутку?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="#000044"
android:isScrollContainer="true"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:text="@string/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<EditText
android:id="@+id/editTitle"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/description"
android:text="@string/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<EditText
android:id="@+id/editDescription"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/location"
android:text="@string/location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<EditText
android:id="@+id/editLocation"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/startTime"
android:text="@string/startTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<DatePicker
android:id="@+id/DatePicker01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TimePicker
android:id="@+id/TimePicker01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/endTime"
android:text="@string/endTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<DatePicker
android:id="@+id/DatePicker02"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TimePicker
android:id="@+id/TimePicker02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/buttonCreate"
android:text="Create"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
Мой код класса
package com.example.blah;
import android.app.Activity;
import android.os.Bundle;
public class example extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Поместите макет в ScrollView.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView ...>
<LinearLayout ...>
...
...
</LinearLayout>
</ScrollView>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|left"
android:orientation="vertical">
Your views go here...
</LinearLayout>
</ScrollView>
Поместите весь контент в линейный макет, который находится внутри ScrollView
.
ScrollView
принимает только один макет в качестве своего дочернего элемента.
isScrollContainer="true"
Это свойство используется, когда ваша программная клавиша в android всплывает, и вы все же хотите, чтобы ваш просмотр прокручивался.
Вы можете реализовать его, используя View.scrollTo(..).
postDelayed(new Runnable() {
public void run() {
counter = (int) (counter + 10);
handler.postDelayed(this, 100);
llParent.scrollTo(counter , 0);
}
}
}, 1000L);
вы можете сделать любой макет прокручиваемым. Под <?xml version="1.0" encoding="utf-8"?>
добавьте следующие строки:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
и в конце добавить </ScrollView>
пример прокручиваемой активности:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:verticalScrollbarPosition="right"
tools:context="p32929.demo.MainActivity">
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="102dp"
android:id="@+id/textView"
android:textSize="30sp" />
</RelativeLayout>
Сделав его прокручиваемым, он будет выглядеть следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:verticalScrollbarPosition="right"
tools:context="p32929.demo.MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="102dp"
android:text="TextView"
android:textSize="30sp" />
</RelativeLayout>
</ScrollView>
Поместите все свои макеты внутри ScrollView с шириной и высотой, заданными для fill_parent.
попробуйте этот код ниже
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context="com.example.blah"
>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="#000044"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:text="@string/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<EditText
android:id="@+id/editTitle"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/description"
android:text="@string/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<EditText
android:id="@+id/editDescription"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/location"
android:text="@string/location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<EditText
android:id="@+id/editLocation"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/startTime"
android:text="@string/startTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<DatePicker
android:id="@+id/DatePicker01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TimePicker
android:id="@+id/TimePicker01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/endTime"
android:text="@string/endTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"/>
<DatePicker
android:id="@+id/DatePicker02"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TimePicker
android:id="@+id/TimePicker02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/buttonCreate"
android:text="Create"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout></ScrollView></RelativeLayout>