实例介绍
【实例简介】
饿了吗高仿版
【实例截图】
【核心代码】
package com.example.ele_me.activity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.widget.SlidingPaneLayout;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
import com.example.ele_me.R;
import com.example.ele_me.util.InjectView;
import com.example.ele_me.util.Injector;
public class DianPingWebActivity extends Activity {
@InjectView(R.id.webview_common)
private WebView mWebView;
@InjectView(R.id.iv_head_left)
private ImageView head_left;
@InjectView(R.id.linear_above_toHome)
private LinearLayout above_toHome;
@InjectView(R.id.tv_common_above_head)
private TextView above_tittle;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.dianping_main);
Injector.get(this).inject();// init views
initView();
setListener();
}
private void setListener() {
// TODO Auto-generated method stub
above_toHome.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
finish();
}
});
}
private void initView() {
above_tittle.setText("附近团购");
head_left.setImageResource(R.drawable.abc_ic_ab_back_holo_dark);
mWebView.loadUrl("http://m.dianping.com/tuan");
// 使用webview浏览网页
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
}
});
}
}
package com.example.ele_me.adapter;
import java.util.List;
import android.annotation.SuppressLint;
import android.content.Context;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RatingBar;
import android.widget.TextView;
import com.example.ele_me.R;
import com.example.ele_me.entity.RestaurantEntity;
import com.nostra13.universalimageloader.core.ImageLoader;
public class HomePageRestaurantAdapter extends BaseAdapter{
private Context context;
private List<RestaurantEntity> mlist;
private LayoutInflater inflater;
public HomePageRestaurantAdapter(Context context,
List<RestaurantEntity> list) {
this.context=context;
this.mlist=list;
inflater=LayoutInflater.from(context);
}
@Override
public int getCount() {
return mlist.size();
}
@Override
public Object getItem(int position) {
return mlist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@SuppressLint("ResourceAsColor")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null)
{
convertView = inflater.inflate(R.layout.restaurant_list_item_dev, null);
holder = new ViewHolder();
holder.name = (TextView) convertView
.findViewById(R.id.restaurant_list_item_name);
holder.logo = (ImageView) convertView
.findViewById(R.id.restaurant_list_item_logo);
holder.item_msg = (TextView) convertView
.findViewById(R.id.restaurant_list_item_msg);
holder.buy_nums = (TextView) convertView
.findViewById(R.id.restaurant_list_item_buynums);
holder.rate = (RatingBar) convertView
.findViewById(R.id.restaurant_list_item_rate);
holder.rest = (ImageView) convertView
.findViewById(R.id.restaurant_list_item_avaiable);
holder.favor = (ImageView) convertView
.findViewById(R.id.restaurant_list_item_favor);
holder.promotion = (LinearLayout) convertView
.findViewById(R.id.restaurant_list_item_present_promotion_container);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
if(mlist.get(position).getIs_favor()){
holder.favor.setVisibility(View.VISIBLE);
}
if(mlist.get(position).getIs_rest()){
holder.rest.setVisibility(View.VISIBLE);
holder.rate.setVisibility(View.GONE);
}
holder.name.setText(mlist.get(position).getName());
holder.buy_nums.setText(mlist.get(position).getBuy_nums());
holder.item_msg.setText(mlist.get(position).getItem_msg());
holder.rate.setNumStars(mlist.get(position).getRate_numbers());
//如果有推广信息就添加
if(!TextUtils.isEmpty(mlist.get(position).getPromotion())){
LinearLayout promotionLayout= (LinearLayout) inflater.inflate(R.layout.restaurant_promotion_with_icon_text_view, null);
TextView promotionTv = (TextView) promotionLayout.findViewById(R.id.restaurant_promotion_description);
TextView promotionIcon = (TextView) promotionLayout.findViewById(R.id.restaurant_promotion_icon);
if(mlist.get(position).getIs_half()){
promotionIcon.setBackgroundColor(R.color.orange_ff);
promotionIcon.setText("半");
}
if(mlist.get(position).getIs_mins()){
promotionIcon.setBackgroundColor(R.color.red_light);
promotionIcon.setText("减");
}
promotionTv.setText(mlist.get(position).getPromotion());
holder.promotion.addView(promotionLayout);
}
ImageLoader.getInstance().displayImage(mlist.get(position).getLogo(), holder.logo);
return convertView;
}
public class ViewHolder {
public ImageView logo;
public TextView name;
public TextView rate_numbers;//星星数量
public TextView buy_nums;//售出份数
public TextView item_msg;//其他信息
public ImageView rest;//是否休息
public ImageView favor;//是否喜欢
public RatingBar rate;
public LinearLayout promotion;//推广信息
}
}
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.os.Environment;
import android.view.View;
import android.view.View.MeasureSpec;
/*
* 系统工具类
* */
public class Tools {
// 判断有没有sd卡
public static boolean hasSDCard() {
String status = Environment.getExternalStorageState();
if (!status.equals(Environment.MEDIA_MOUNTED)) {
return false;
}
return true;
}
// 获得根目录路径
public static String getRootFilePath() {
if (hasSDCard()) {
return Environment.getExternalStorageDirectory().getAbsolutePath()
"/";// filePath:/sdcard/
} else {
return Environment.getDataDirectory().getAbsolutePath() "/data/"; // filePath:
// /data/data/
}
}
// 将定义的view装换成 bitmap格式
public Bitmap convertViewToBitmap(View view) {
view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
view.buildDrawingCache();
Bitmap bitmap = view.getDrawingCache();
return bitmap;
}
/**
* 将px值转换为dip或dp值,保证尺寸大小不变
*
* @param context
* @param pxValue
* @return
*/
public int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale 0.5f);
}
/**
*
* 将dip或dp值转换为px值,保证尺寸大小不变
*
* @param dipValue
*
* @param scale
*
* @return
*/
public int dip2px(Context context, float dipValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dipValue * scale 0.5f);
}
/**
*
* 将px值转换为sp值,保证文字大小不变
*
* @param pxValue
*
* @param fontScale
*
* @return
*/
public int px2sp(Context context, float pxValue) {
final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
return (int) (pxValue / fontScale 0.5f);
}
/**
*
* 将px值转换为sp值,保证文字大小不变
*
* @param spValue
*
* @param fontScale
*
* @return
*/
public int sp2px(Context context, float spValue) {
final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
return (int) (spValue * fontScale 0.5f);
}
public static boolean hasGingerbread() {
return Build.VERSION.SDK_INT >= VERSION_CODES.GINGERBREAD;
}
public static boolean hasHoneycomb() {
return Build.VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB;
}
/**
* 检查是否存在SDCard
*
* @return
*/
public static boolean hasSdcard() {
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)) {
return true;
} else {
return false;
}
}
}
标签: 源码
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论