Java 在滚动视图中显示图像
我是android编程新手。我目前正在使用mysql数据库为我的项目开发一个应用程序。 我有一个活动,它会显示很多关于某个事件或地点的信息 此活动很长,因此我使用滚动视图 问题是: 我想显示一个带有标题的图像“我不知道数字,它取决于数据库中有多少图像,所以每次我在DB中添加一个新图像时,它都会显示在此活动中” 我曾想过使用GridView,但问题是我已经使布局可滚动。那么我可以用什么来显示图像呢 以下是我的XML布局:Java 在滚动视图中显示图像,java,android,mysql,xml,Java,Android,Mysql,Xml,我是android编程新手。我目前正在使用mysql数据库为我的项目开发一个应用程序。 我有一个活动,它会显示很多关于某个事件或地点的信息 此活动很长,因此我使用滚动视图 问题是: 我想显示一个带有标题的图像“我不知道数字,它取决于数据库中有多少图像,所以每次我在DB中添加一个新图像时,它都会显示在此活动中” 我曾想过使用GridView,但问题是我已经使布局可滚动。那么我可以用什么来显示图像呢 以下是我的XML布局: <?xml version="1.0" encoding="utf-8
<?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>
GirdView本身可以滚动,您可以使用它。但我建议使用新的RecylerView并在其上使用GridLayoutManager。它本身也是可滚动的,但比GridView更高效,更可定制,而且最重要的是。。。你可以找到很多很好的例子
另外,请看一看谷歌如何高效加载位图的示例:为什么要在数据库中存储图像?将其存储在
drawable
文件夹中,该文件夹位于res
文件夹中。请注意,这根本不是一个好的设计,您需要使用列表或网格视图来实现。另外,将图像存储在文件夹中,而不是数据库中。如果要从联机数据库中获取图像,请使用ListView或GridView,并使用PARSE解决此问题。