Android相冊(cè)效果(使用C#和Java分別實(shí)現(xiàn))
更新時(shí)間:2015年06月18日 09:12:37 投稿:junjie
這篇文章主要介紹了Android相冊(cè)效果(使用C#和Java分別實(shí)現(xiàn)),原來(lái)C#也可以開(kāi)發(fā)APP,小編第一次見(jiàn)了~感覺(jué)不錯(cuò),因?yàn)樾【帟簳r(shí)不喜歡Java,所以,需要的朋友可以參考下
運(yùn)行效果

C#實(shí)現(xiàn)
using Android.App;
using Android.OS;
using Android.Widget;
namespace ImageDemo
{
[Activity(Label = "@string/ApplicationName", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
private Gallery _gallery;
private ImageView _selectedImg;
private readonly int[] _imageIds = {
Resource.Drawable.test1,
Resource.Drawable.test2,
Resource.Drawable.test3,
Resource.Drawable.test4,
Resource.Drawable.test5,
Resource.Drawable.test6,
Resource.Drawable.test7,
Resource.Drawable.test8
};
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
_gallery = FindViewById<Gallery>(Resource.Id.gallery);
_selectedImg = FindViewById<ImageView>(Resource.Id.currentImg);
_gallery.Adapter = new ImageAdapter(this, _imageIds);
_gallery.ItemSelected += Gallery_ItemSelected;
}
private void Gallery_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
{
_selectedImg.SetImageResource(_imageIds[e.Position]);
}
}
public class ImageAdapter : BaseAdapter
{
private readonly Context _context;
private readonly int[] _imageIds;
public ImageAdapter(Context context,int[]imageIds)
{
_context = context;
_imageIds = imageIds;
}
public override Object GetItem(int position)
{
return null;
}
public override long GetItemId(int position)
{
return 0;
}
public override int Count
{
get { return _imageIds.Length; }
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
var image = new ImageView(_context);
image.SetImageResource(_imageIds[position]);
image.LayoutParameters = new Gallery.LayoutParams(150, 100);
image.SetScaleType(ImageView.ScaleType.FitXy);
return image;
}
}
}
Java實(shí)現(xiàn)
package com.example.halower.gallerydemo;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import static android.widget.Gallery.LayoutParams;
public class MainActivity extends ActionBarActivity {
private int[] imageIds = {
R.drawable.test1,
R.drawable.test2,
R.drawable.test3,
R.drawable.test4,
R.drawable.test5,
R.drawable.test6,
R.drawable.test7,
R.drawable.test8
};
Gallery gallery;
ImageView currentView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gallery=(Gallery) findViewById(R.id.gallery);
ImageAdapter adapter=new ImageAdapter(this,imageIds);
currentView = (ImageView)findViewById(R.id.currentImg);
gallery.setAdapter(adapter);
gallery.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,long id) {
currentView.setImageResource(imageIds[position]);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
class ImageAdapter extends BaseAdapter
{
Context _context;
int[] imageIds;
public ImageAdapter(Context context,int[] imageIds){
_context=context;
this.imageIds=imageIds;
}
@Override
public int getCount() {
return imageIds.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView=new ImageView(_context);
imageView.setImageResource(imageIds[position]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new LayoutParams(70,100));
return imageView;
}
}
layout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<ImageView
android:layout_width="320dp"
android:layout_height="320dp"
android:id="@+id/currentImg"
android:layout_centerHorizontal="true" />
<Gallery
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:unselectedAlpha="0.6"
android:spacing="2pt"
android:layout_below="@+id/currentImg"
android:id="@+id/gallery" />
</RelativeLayout>
您可能感興趣的文章:
- Android實(shí)現(xiàn)TCP斷點(diǎn)上傳 后臺(tái)C#服務(wù)接收
- 快速解決C# android base-64 字符數(shù)組的無(wú)效長(zhǎng)度問(wèn)題
- C#之Android手機(jī)App開(kāi)發(fā)
- C#開(kāi)發(fā)Android百度地圖手機(jī)應(yīng)用程序(多地圖展示)
- Android仿微信菜單(Menu)(使用C#和Java分別實(shí)現(xiàn))
- Android下拉列表(Spinner)效果(使用C#和Java分別實(shí)現(xiàn))
- C#采用Winform實(shí)現(xiàn)類似Android的Listener
- 詳解C#開(kāi)發(fā)Android應(yīng)用程序的流程
相關(guān)文章
Android中Json數(shù)據(jù)讀取與創(chuàng)建的方法
android 讀取json數(shù)據(jù),下面小編給大家整理有關(guān)Android中Json數(shù)據(jù)讀取與創(chuàng)建的方法,需要的朋友可以參考下2015-08-08
Android 調(diào)用系統(tǒng)相機(jī)拍攝獲取照片的兩種方法實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了Android 調(diào)用系統(tǒng)相機(jī)拍攝獲取照片的兩種方法實(shí)現(xiàn)實(shí)例的相關(guān)資料,一種是通過(guò)Bundle來(lái)獲取壓縮過(guò)的照片,一種是通過(guò)SD卡獲取的原圖,需要的朋友可以參考下2016-11-11
Android?hid發(fā)送apdu格式數(shù)據(jù)示例詳解
這篇文章主要介紹了Android?hid發(fā)送apdu格式數(shù)據(jù),在?Android?中,如果你想通過(guò)?HID(Human?Interface?Device)發(fā)送?APDU?格式的數(shù)據(jù),通常會(huì)涉及?USB?HID?設(shè)備或藍(lán)牙?HID?設(shè)備,本文給大家講解的非常詳細(xì),需要的朋友可以參考下2023-08-08
kotlin實(shí)現(xiàn)通知欄提醒功能示例代碼
這篇文章主要給大家介紹了關(guān)于kotlin實(shí)現(xiàn)通知欄提醒功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用kotlin具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
分享安裝Android Studio3.6的經(jīng)驗(yàn)教訓(xùn)
這篇文章主要介紹了Android Studio3.6的安裝錯(cuò)誤問(wèn)題及解決方法,非常值得大家參考,現(xiàn)把整個(gè)過(guò)程分享到腳本之家平臺(tái),需要的朋友參考下吧2020-02-02

