我正在尝试创建一个horizontalscrollview,它应该包含一些可以水平滚动的视图。
初始视图是一个水平滚动视图,里面有一个线性布局
我有另一种观点,就像一个显示城市天气的屏幕。
如果我的数据库中有5个城市,我想将5个视图实例添加到horizontalscroll视图中。每个实例都有自己的事件,例如点击和http请求。
我可以从xml创建一个horizontalscrollview,但我想动态地做。我一直在寻找一些例子来试图找到一个起点,但似乎没有任何东西。
有人能指出我正确的方向吗?
这是我的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);
由于scrollview只能有一个子节点,我在里面添加了一个linearlayout(不确定它是否应该是线性布局),并且我想将我的视图的所有实例添加到线性布局中。
P.S:我已经为iphone完成了相同的应用程序而没有太多的痛苦。 Android似乎让我太困惑了:(答案 0 :(得分:0)
好吧,它恰好是一个xml错误,android_id错过了我的眼睛,线性布局不接受它,但很惊讶它没有抛出错误