Я пытаюсь создать горизонтальный вид прокрутки, который должен содержать несколько видов с горизонтальной прокруткой.
Первоначальный вид - это горизонтальный вид с прокруткой с линейным расположением внутри него
Iесть другой вид, что-то вроде экрана, который показывает погоду для города.
Если в моей базе данных есть 5 городов, я бы хотел добавить 5 экземпляров вида в представление горизонтального прокрутки.И каждый экземпляр имеет свои собственные события, такие как щелчки и запросы http.
Я могу создать представление horizontalscroll из xml, но я хотел бы сделать это динамически.Я искал несколько примеров, чтобы попытаться получить отправную точку, но, кажется, ничего не существует.
Может ли кто-нибудь указать мне правильное направление?
Это мой horizontalscrollview xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<RelativeLayout android:layout_height="50dp"
android:id="@+id/TableRow01" android:layout_width="fill_parent"
android:background="#82db7a">
<ImageView android:id="@+id/imageView1" android:src="@drawable/logo_topbar"
android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageButton android:background="@drawable/topicon_btn"
android:src="@drawable/btn_icon_locateme" android:layout_gravity="center_vertical"
android:layout_height="45dp" android:id="@+id/locatemebtn"
android:layout_width="wrap_content" android:layout_centerVertical="true"
android:layout_alignParentRight="true" android:layout_margin="5dp" />
<ImageButton android:background="@drawable/topicon_btn"
android:src="@drawable/btn_icon_star" android:layout_height="45dp"
android:id="@+id/favbtn" android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/locatemebtn" android:layout_alignTop="@+id/locatemebtn"
android:layout_alignBottom="@+id/locatemebtn" />
</RelativeLayout>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:fillViewport="true"
android:id="@+id/scrollView1" android:layout_height="fill_parent"
android:layout_width="fill_parent" >
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android_id="@+id/mainScroll">
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
Вот как я пытался добавить представление (просто чтобы проверить, работает ли оно, хотя я не уверен, даже если оно работает, представление - это просто макет или макет с функциональностью)
LinearLayout mainscroll=(LinearLayout) findViewById(R.id.mainScroll);
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = vi.inflate(R.layout.weather_tab, null);
mainscroll.addView(view);
Поскольку у прокрутки может быть только один дочерний элемент, я добавил внутри линейный макет (не уверен, должен ли он быть линейным макетом), и я хочу добавить все экземпляры моих представлений в линейный макет.
PS: я сделал то же самое приложение для iphone без особой боли.Кажется, Android слишком сильно меня смущает :(