Android移动开发APP做一个几个电影的分类的具体代码
时间: 2024-02-28 07:52:06 浏览: 21
以下是一个简单的 Android APP 代码,用于显示几个电影的分类:
首先,在布局文件中创建一个 RecyclerView,用于显示电影列表:
```xml
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/movieRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
然后,在 MainActivity 中,您可以创建一个 Movie 类,其中包含电影的名称、类别和海报图像资源 ID。然后,您可以创建一个 MovieAdapter 类,用于在 RecyclerView 中显示电影列表。
```java
public class Movie {
private String name;
private String category;
private int poster;
public Movie(String name, String category, int poster) {
this.name = name;
this.category = category;
this.poster = poster;
}
public String getName() {
return name;
}
public String getCategory() {
return category;
}
public int getPoster() {
return poster;
}
}
```
```java
public class MovieAdapter extends RecyclerView.Adapter<MovieAdapter.MovieViewHolder> {
private List<Movie> movieList;
public MovieAdapter(List<Movie> movieList) {
this.movieList = movieList;
}
@NonNull
@Override
public MovieViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.movie_list_item, parent, false);
return new MovieViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MovieViewHolder holder, int position) {
Movie movie = movieList.get(position);
holder.movieNameTextView.setText(movie.getName());
holder.movieCategoryTextView.setText(movie.getCategory());
holder.moviePosterImageView.setImageResource(movie.getPoster());
}
@Override
public int getItemCount() {
return movieList.size();
}
public static class MovieViewHolder extends RecyclerView.ViewHolder {
public TextView movieNameTextView;
public TextView movieCategoryTextView;
public ImageView moviePosterImageView;
public MovieViewHolder(View itemView) {
super(itemView);
movieNameTextView = itemView.findViewById(R.id.movieNameTextView);
movieCategoryTextView = itemView.findViewById(R.id.movieCategoryTextView);
moviePosterImageView = itemView.findViewById(R.id.moviePosterImageView);
}
}
}
```
在 MainActivity 中,您可以创建几个 Movie 对象,并将它们添加到一个 List<Movie> 中。然后,您可以使用该列表创建一个 MovieAdapter,并将其设置为 RecyclerView 的适配器。在这个例子中,我们假设有三个电影,它们的类别分别是动作、喜剧和恐怖。
```java
public class MainActivity extends AppCompatActivity {
private RecyclerView movieRecyclerView;
private List<Movie> movieList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
movieRecyclerView = findViewById(R.id.movieRecyclerView);
movieList.add(new Movie("The Dark Knight", "Action", R.drawable.poster_dark_knight));
movieList.add(new Movie("Bridesmaids", "Comedy", R.drawable.poster_bridesmaids));
movieList.add(new Movie("The Conjuring", "Horror", R.drawable.poster_the_conjuring));
MovieAdapter movieAdapter = new MovieAdapter(movieList);
movieRecyclerView.setAdapter(movieAdapter);
movieRecyclerView.setLayoutManager(new LinearLayoutManager(this));
}
}
```
最后,您需要创建一个 movie_list_item.xml 布局文件,用于显示电影的名称、类别和海报图像。
```xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/moviePosterImageView"
android:layout_width="100dp"
android:layout_height="150dp"
android:scaleType="centerCrop" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:layout_marginStart="16dp">
<TextView
android:id="@+id/movieNameTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/movieCategoryTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
```
这就是一个简单的 Android APP 代码,用于显示几个电影的分类。当然,这只是一个示例,您可以根据自己的需求进行更改和扩展。