If you think the Android project android_app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code
package TabAdapterPackage;
/*/*fromwww.java2s.com*/
~ *******************************************************************************
~ Copyright (c) 2013-2014 Daniel Lin, Kamal Chaya, Sean Penney, and Daniel Chuang
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
~ *****************************************************************************
*/import java.util.ArrayList;
import com.example.t_danbubbletea.R;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.graphics.Typeface;
import android.graphics.Bitmap;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
publicclass GridViewCustomAdapter extends BaseAdapter {
private Activity activity;
private ArrayList<String> urlList;
private ArrayList<String> teaNameList;
private Context context;
@SuppressWarnings("unused")
privatestatic LayoutInflater inflater=null;
public ImageLoader imageLoader;
private ImageLoaderConfiguration config;
private DisplayImageOptions options;
//constructor
public GridViewCustomAdapter(Activity a, ArrayList<String> urls, ArrayList<String> teaNames) {
activity = a;
urlList = urls;
teaNameList = teaNames;
inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
context = activity.getApplicationContext();
imageLoader = ImageLoader.getInstance();
//configuration for the image loader
config = new ImageLoaderConfiguration.Builder(context)
.threadPriority(Thread.NORM_PRIORITY-1)
.threadPoolSize(5)
.denyCacheImageMultipleSizesInMemory()
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.diskCacheSize(10*1024*1024)
.tasksProcessingOrder(QueueProcessingType.LIFO)
.build();
//options for displaying the images
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.not_found_exclamation)
.showImageForEmptyUri(R.drawable.not_found_exclamation)
.showImageOnFail(R.drawable.not_found_exclamation)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
imageLoader.init(config);
}
publicint getCount() {
return urlList.size();
}
public Object getItem(int pos) {
return pos;
}
publiclong getItemId(int pos) {
return pos;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout Llayout=new LinearLayout(context);
ImageView imageView = new ImageView(context);
TextView tv = new TextView(context);
Typeface type=Typeface.createFromAsset(context.getAssets(),
"DroidSans.ttf");
Llayout.setOrientation(LinearLayout.VERTICAL);
//Log.d(TAG, urlList.get(position));
imageLoader.displayImage(urlList.get(position), imageView, options);
tv.setText(teaNameList.get(position));
tv.setTextColor(Color.argb(255, 69, 102, 247));
tv.setTextSize(16);
tv.setTypeface(type, Typeface.BOLD);
/* need to set pictures relative to screen size */
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int width = metrics.widthPixels;
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new GridView.LayoutParams((int) ((width/2)*.95), 300));
Llayout.addView(imageView);
Llayout.addView(tv);
return Llayout;
}
}