我是Android编程新手。我正在使用mysql DB为我的项目开发一个应用程序。 我有一个活动,它将显示有关活动或地点的大量信息 这个活动很长,所以我使用滚动视图。
问题是: 我想要显示一个带有标题的图像“我不知道它取决于数据库中的图像数量,所以每次我在数据库中添加一个新的图像时它将出现在此活动中”
我正在考虑使用GridView,但问题是我已经使布局可滚动了。那么我可以用什么来显示图像?
这是我的XML布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dp"
android:background="#eaedf1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/iv_event_image"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="#efcc08"
android:gravity="right"
android:layout_marginLeft="10dp"
android:contentDescription="@string/Null"/>
<RatingBar
android:id="@+id/MyRating"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/iv_event_image"
android:isIndicator="true"
android:numStars="5"
android:stepSize="0.1" />
<Button
android:id="@+id/btn_write"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignBaseline="@+id/tv_event_name"
android:layout_alignBottom="@+id/tv_event_name"
android:layout_alignParentLeft="true"
android:background="#eaedf1"
android:layout_marginLeft="10dp"
android:drawableRight="@drawable/comment_small"/>
<Button
android:id="@+id/btn_fav"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignBaseline="@+id/tv_event_name"
android:layout_alignBottom="@+id/tv_event_name"
android:layout_alignParentLeft="true"
android:layout_marginLeft="40dp"
android:background="#eaedf1"
android:drawableRight="@drawable/fav_small"/>
<TextView
android:id="@+id/tv_event_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/MyRating"
android:layout_below="@+id/MyRating"
android:text="@string/Event_name"
android:textColor="#505152"
android:textSize="18sp" />
</RelativeLayout>
<View android:id="@+id/primerdivisor"
android:layout_height="1dp"
android:layout_width="fill_parent"
android:background="#505152" />
<!-- Second Row -->
<TextView
android:id="@+id/tv_rate_place"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_margin="10dp"
android:gravity="right"
android:text="@string/Descrption" />
<TextView
android:id="@+id/tv_event_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Null"
android:layout_gravity="right"
android:gravity="right"
android:layout_marginRight="10dp"
/>
<View android:id="@id/primerdivisor"
android:layout_height="1dp"
android:layout_width="fill_parent"
android:background="#505152" />
<!-- Third Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:paddingTop="10dp"
android:paddingBottom="10dp" >
<TextView
android:id="@+id/tv_End_date_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Null" />
<TextView
android:id="@+id/tv_End_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/End_date"
android:layout_marginLeft="5dp" />
<TextView
android:id="@+id/tv_Start_date_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Null" />
<TextView
android:id="@+id/tv_Start_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:text="@string/Start_date"
android:layout_marginLeft="5dp" />
</LinearLayout>
<View android:id="@id/primerdivisor"
android:layout_height="1dp"
android:layout_width="fill_parent"
android:background="#505152" />
<!-- Fourth Row -->
<TextView
android:id="@+id/tv_pictures"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginLeft="5dp"
android:gravity="right"
android:layout_margin="10dp"
android:text="@string/pictures" />
<GridView
android:id="@+id/gv_pictures"
android:layout_width="match_parent"
android:layout_height="205dp"
android:layout_marginLeft="5dp"
android:gravity="center"
android:horizontalSpacing="5dp"
android:numColumns="3"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" >
</GridView>
<!-- Fifth Row -->
<View android:id="@id/primerdivisor"
android:layout_height="1dp"
android:layout_width="fill_parent"
android:background="#505152" />
<TextView
android:id="@+id/tv_contact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_margin="10dp"
android:gravity="right"
android:text="@string/contact" />
<TextView
android:id="@+id/tv_contact_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Null"
android:layout_gravity="right"
android:gravity="right"
android:layout_marginRight="10dp"
/>
<View android:id="@id/primerdivisor"
android:layout_height="1dp"
android:layout_width="fill_parent"
android:background="#505152" />
<!-- Sixth Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center|left"
android:paddingBottom="10dp"
android:paddingTop="10dp" >
<ImageView
android:id="@+id/iv_person"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/Null"
android:src="@drawable/person" />
<TextView
android:id="@+id/tv_avrage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Null"
android:paddingLeft="30dp"
android:paddingRight="50dp" />
<RatingBar
android:id="@+id/Money_rating"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="true"
android:numStars="5"
android:stepSize="0.1"
/>
</LinearLayout>
<View android:id="@id/primerdivisor"
android:layout_height="1dp"
android:layout_width="fill_parent"
android:background="#505152" />
<!-- Seventh Row -->
<TextView
android:id="@+id/tv_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_margin="10dp"
android:gravity="right"
android:text="@string/location" />
<TextView
android:id="@+id/tv_location_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Null"
android:layout_gravity="right"
android:gravity="right"
android:layout_marginRight="10dp"
/>
<View android:id="@id/primerdivisor"
android:layout_height="1dp"
android:layout_width="fill_parent"
android:background="#505152" />
<!-- 8 Row -->
<TextView
android:id="@+id/tv_comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:gravity="right"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:text="@string/comments" />
<TextView
android:id="@+id/tv_comment_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Null"
android:layout_gravity="right"
android:gravity="right"
android:layout_marginRight="10dp"
/>
<View android:id="@id/primerdivisor"
android:layout_height="1dp"
android:layout_width="fill_parent"
android:background="#505152" />
</LinearLayout>
</ScrollView>
答案 0 :(得分:0)
GirdView可以自动滚动,你可以使用它。但我建议使用新的RecylerView并使用GridLayoutManager。它也可以自动滚动,但比GridView更有效,而且更加可定制,最重要的是......你可以找到很多很好的例子。
另请参阅Google的这个示例,了解如何高效加载位图:http://developer.android.com/samples/DisplayingBitmaps/index.html