分页: 6/220 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]
逛超市,想起了猪肝瘦肉汤,貌似很好喝,遂各买了一份,可回来却不知道怎么做,应该还有别的配料,好像是枸杞菜?好像没有这玩意,遂做粥好了。
实践方知配料的重要性,我就放了瘦肉和猪肝做粥,好腥。。妈妈都跟我说要放姜丝,我怎么就这么自信觉得那么一点姜没啥呢。
后来再做一次,的确没有了腥味,第一次感慨到辅料的重要性,第一次对姜丝和葱都刮目相看,呵呵。。

猪肝菠菜粥

引用
1. 粳米淘洗干净,浸泡半小时后捞出沥干;
2. 猪肝反复洗净,切成薄片;
3. 菠菜洗净,去根切段;姜、葱均切丝;
4. 锅内注入约1200毫升冷水,放入粳米,用旺火煮沸;
5. 然后改用小火煮成稀饭;
6. 放入肝片、菠菜、姜丝、葱丝,下盐调好味,继续煮至猪肝熟透即可。

小帖士-食物相克:
粳米:唐•孟诜:“粳米不可同马肉食,发瘤疾。不可和苍耳食,令人卒心痛。”
清•王盂英:“炒米虽香,性燥助火,非中寒便泻者忌之。”
猪肝:猪肝忌与鱼肉、雀肉、荞麦、菜花、黄豆、豆腐、鹌鹑肉、野鸡同食;不宜与豆芽、西红柿、辣椒、毛豆、山楂等富含维生素C的食物同食;动物肝不宜与维生素C、抗凝血药物、左旋多巴、优降灵和苯乙肼等药物同食。
Tags: ,
又有一个星座话题的video,台湾拍的星座故事,康师傅的植入式广告。
看看还觉得挺好玩的,貌似还有水瓶座和双鱼还没有拍完:

http://www.youku.com/show_page/id_z00204bf65c1a11df97c0.html

点击在新窗口中浏览此图片

引用
上映: 2010-05-14  
地区: 台湾
导演: 连奕琦  
类型: 偶像 言情
演员: 李康宜 |   五熊 |   许玮甯 |   修杰楷 |   吴慷仁 |   邵翔 |   张家慧 |   曾佩瑜 |   柯有纶 |   温升豪 |   林暐恒 | 丁春诚 |   蔡昌宪 |   李律 |   张书豪 |   黄灯辉 |   王心如 |   唐振刚 |   王湘涵 |   房思瑜 |   李京恬 |   吴中天 |   谢欣颖 |   利瓦伊维
简介: 十二星座是宿命论吗?每个星座的人都有各自无法摆脱的弱点吗?
或者,十二星座是一个成长的体验呢?让我们有机会成为更好的人。
星座阻挡了真爱吗?星座性格造成亲密关系中无可扭转的困境吗?
或是为了真爱,我们愿意改变自己,带着新的自己再次告白、创造幸福!
这是十二个为爱努力的故事。
我们将看见十二星座的男主角们在爱情中遇到了各种不同的困境,但为了爱,他们愿意诚实检视自己.勇敢改变自己.再次对爱告白,解决困境,扭转命运!
Tags:
被一个人喜欢,接受她为我花钱,是一种享受

       我其实中意各种各样的女人,相信大部分男的都是如此。

       现在我有了女友,不是绯闻女友,是真正意义上的女友。关于她姓甚名谁身高体重职业出身这些东西,我一概不予披露。她未见得有多漂亮,眉眼五官没瑕疵而已,用带点艺术的眼光去打量,会感觉到一种气场,让人情不自禁想多看几眼。

       她就是这种型!

       我不叫她的名字,简化成一个字———“妞”,这称呼让她很兴奋也让我很满足。遇到妞之前,我心里就有了喜欢的女孩子的标准:乖、懂事、得体,发自内心地喜欢我,还有一点特别重要,要会做好吃的。

        这些标准,妞全部满足,还附赠了我没来得及列入衡量标准的升级版本:有主见,又不是太有主见;聪明,又不觉得自己聪明。

        我一直认为养家是男人的事情,一般来说,有这样消费观念的男人是比较讨女人喜欢的,男人大方是美德。

        妞却不大欣赏我这个美德。她说:如果她没有收入和积蓄,我养她;如果她有收入和积蓄,我养家。基本上,我没在妞身上花过任何专项资金,有时说给你买个什么吧,她会酷得像王菲那样:“我有钱自己买!”有时先斩后奏买了,她也会很高兴,一周之内就会挑个同样档次的礼物回赠我。

        这样的回礼有点叫板的味道,但我并不反感,喜欢一个人,为她花钱是一种乐趣;被一个人喜欢,接受她为我花钱,是一种享受。
android的ImageSwitcher是一个图片更换而产生动画过渡的控件,appdemo里面有例子,其实是一个很好的图片浏览的例子,但有一个不好的地方就是选择小图时,速度太快,每个经过中点的小图都产生一次事件,导致大图切换效果不理想。
比如点击第一张,放大第一张,点击第三张,是先放大第二张,再放大第三张,滑动时经过的所有图片都显示一次,很不理想。
我们可以用线程来处理这个问题,一定的时间后如果选择的index值不变,说明已经稳定不变,显示大图。

修改一下即可:

/*
* 原代码
*/
//    public void onItemSelected(AdapterView parent, View v, int position, long id) {
//      mSwitcher.setImageResource(mImageIds[position]);
//    }

/*
* code: hqlulu
* http://www.aslibra.com
* 增加以下代码
*/
private int showingIndex = -1;
private static final int TIME_OUT_DISPLAY = 300;
private int toShowIndex = 0;

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
  Log.v("test", "onItemSelected arg2="+arg2+" arg3="+arg3);

  toShowIndex = arg2;
  final Handler handler = new Handler() {  
    public void handleMessage(Message msg) {
      if(showingIndex != toShowIndex){
        showingIndex = toShowIndex;
        mSwitcher.setImageResource(mImageIds[toShowIndex]);          
      }
    }  
  };
  Thread checkChange = new Thread() {    
    public void run() {
      int myIndex = toShowIndex;
      try {
        sleep( TIME_OUT_DISPLAY );
        if( myIndex == toShowIndex ){
          handler.sendEmptyMessage(0);  
          Log.v("test", "+++ stable can show ...");
        }else{
          Log.v("test", "+++ not stable...");
        }
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }  
  };
  checkChange.start();
}


完整代码见附件
Tags:
代码是参考某位仁兄的片段,以下是可行的完整测试代码:

package com.aslibra.test;

import android.app.Activity;
import android.graphics.Rect;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.widget.ImageView;

public class test extends Activity {
  ImageView iv;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    iv = (ImageView) this.findViewById(R.id.ImageView01);
    iv.post(new Runnable()
    {
      public void run()
      {
        viewInited();
      }
    }
    );
    Log.v("test", "== ok ==");
  }

  private void viewInited(){
    Rect rect= new Rect();
    Window window= getWindow();
    iv.getWindowVisibleDisplayFrame(rect);
    int statusBarHeight= rect.top;
    int contentViewTop= window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
    int titleBarHeight= contentViewTop - statusBarHeight;
    //测试结果:ok之后 100多 ms 才运行了
    Log.v("test", "=-init-= statusBarHeight="+statusBarHeight+
        " contentViewTop="+contentViewTop+
        " titleBarHeight="+titleBarHeight);    
  }
  
  /*
   * 07-14 02:36:48.449: VERBOSE/test(1385): == ok ==
   * 07-14 02:36:48.558: VERBOSE/test(1385): =-init-= statusBarHeight=25 contentViewTop=50 titleBarHeight=25
   */
}


参考信息:
Getting Height of Status and Title Bar
Tags:
在上篇 android处理单击双击和滑动事件 里有介绍双击,可如果需要自己控制一个双击事件的单击间隔时间,怎么弄呢?
其实就是在单击之后,在间隔时间内等候下次点击再次发生,我们可以用线程处理等候时间,如果时间到了还没有下个点击,那就是取消双击的可能了,可以参考下面的代码:

package com.aslibra.test;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.GestureDetector.OnGestureListener;
import android.widget.LinearLayout;
import android.widget.TextView;

/*
* 自定义双击等待时间
* http://www.aslibra.com/blog/post/android_doubleClick.php
*/
public class touchGesture extends Activity implements OnGestureListener {      
  private LinearLayout main;      
  private TextView viewA;
  private boolean waitDoubleClick = false;
  private static final int DOUBLE_CLICK_TIME = 350;

  private GestureDetector gestureScanner;

  @Override  
  public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  

    gestureScanner = new GestureDetector(this);  

    main = new LinearLayout(this);  
    main.setBackgroundColor(Color.GRAY);
    main.setLayoutParams(new LinearLayout.LayoutParams(320,480));
    main.setOrientation(LinearLayout.VERTICAL);

    viewA = new TextView(this);
    viewA.setBackgroundColor(Color.YELLOW);
    viewA.setTextColor(Color.BLACK);  
    viewA.setTextSize(16);
    viewA.setLayoutParams(new LinearLayout.LayoutParams(320,50));  
    main.addView(viewA);

    setContentView(main);  
  }

  @Override  
  public boolean onTouchEvent(MotionEvent me) {  
    return gestureScanner.onTouchEvent(me);  
  }  

  @Override  
  public boolean onDown(MotionEvent e) {  
    //viewA.setText("-" + "DOWN" + "-");  
    return true;  
  }  

  @Override  
  public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {  
    //viewA.setText("-" + "FLING" + "- "+velocityX + "- "+velocityY);  
    Log.v("test", "onFling "+e1.getX()+" "+e2.getX());
    return true;  
  }  

  @Override  
  public void onLongPress(MotionEvent e) {  
    //viewA.setText("-" + "LONG PRESS" + "-");  
  }  

  @Override  
  public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {  
    //viewA.setText("-" + "SCROLL" + "- "+distanceX + "- "+distanceY);  
    Log.v("test", "onScroll "+e1.getX()+" "+e2.getX());
    return true;  
  }  

  @Override  
  public void onShowPress(MotionEvent e) {  
    //viewA.setText("-" + "SHOW PRESS" + "-");  
  }

  @Override  
  public boolean onSingleTapUp(MotionEvent e) {  
    //viewA.setText("-" + "SINGLE TAP UP" + "-"+ i++);  
    Log.v("test", "onSingleTapUp "+e.getX()+" "+e.getY());
    if(!waitDoubleClick){
      waitDoubleClick = true;
      Log.v("test", "waitDoubleClick");
      //等待下次点击
      Thread checkUpdate = new Thread() {    
        public void run() {
          //固定时间后如果还没有改变状态,说明是单击,取消等待状态
          try {
            sleep( DOUBLE_CLICK_TIME );
            if(waitDoubleClick){
              waitDoubleClick = false;
              Log.v("test", "cancle waitDoubleClick");
            }
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
        }  
      };
      checkUpdate.start();  
      viewA.setText("");
    }else{
      //双击
      waitDoubleClick = false;
      onDoubleClick();
    }
    return true;  
  }  

  //双击事件
  private void onDoubleClick(){
    viewA.setText("dobule click");
    Log.v("test", "DoubleClick");      
  }
  
  
}
  

Tags:
android有处理鼠标动作的GestureDetector,使用起来也挺方便,几个常用事件你都可以找到接口接入处理:

单击、双击(比如双击放大)、滑动(比如翻页)
下面是简化的例子,参考并整合所得,来源参考页尾参考内容:

package com.aslibra.test;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.GestureDetector.OnGestureListener;
import android.widget.LinearLayout;
import android.widget.TextView;

public class touchGesture extends Activity implements OnGestureListener {      
  private LinearLayout main;      
  private TextView viewA;
  private GestureDetector gestureScanner;

  @Override  
  public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  

    gestureScanner = new GestureDetector(this);  
    gestureScanner.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener(){  
      public boolean onDoubleTap(MotionEvent e) {  
        viewA.setText("-" + "onDoubleTap" + "-");  
        //双击时产生一次
        Log.v("test", "onDoubleTap");
        return false;  
      }
      public boolean onDoubleTapEvent(MotionEvent e) {  
        //双击时产生两次
        Log.v("test", "onDoubleTapEvent");
        return false;
      }  
      public boolean onSingleTapConfirmed(MotionEvent e) {  
        viewA.setText("-" + "onSingleTapConfirmed" + "-");  
        //短快的点击算一次单击
        Log.v("test", "onSingleTapConfirmed");
        return false;  
      }  
    });


    main = new LinearLayout(this);  
    main.setBackgroundColor(Color.GRAY);
    main.setLayoutParams(new LinearLayout.LayoutParams(320,480));
    main.setOrientation(LinearLayout.VERTICAL);

    viewA = new TextView(this);
    viewA.setBackgroundColor(Color.YELLOW);
    viewA.setTextColor(Color.BLACK);  
    viewA.setTextSize(16);
    viewA.setLayoutParams(new LinearLayout.LayoutParams(320,50));  
    main.addView(viewA);

    setContentView(main);  
  }

  @Override  
  public boolean onTouchEvent(MotionEvent me) {  
    return gestureScanner.onTouchEvent(me);  
  }  

  @Override  
  public boolean onDown(MotionEvent e) {  
    //viewA.setText("-" + "DOWN" + "-");  
    return true;  
  }  

  @Override  
  public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {  
    //viewA.setText("-" + "FLING" + "- "+velocityX + "- "+velocityY);  
    Log.v("test", "onFling "+e1.getX()+" "+e2.getX());
    return true;  
  }  

  @Override  
  public void onLongPress(MotionEvent e) {  
    //viewA.setText("-" + "LONG PRESS" + "-");  
  }  

  @Override  
  public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {  
    //viewA.setText("-" + "SCROLL" + "- "+distanceX + "- "+distanceY);  
    Log.v("test", "onScroll "+e1.getX()+" "+e2.getX());
    return true;  
  }  

  @Override  
  public void onShowPress(MotionEvent e) {  
    //viewA.setText("-" + "SHOW PRESS" + "-");  
  }

  @Override  
  public boolean onSingleTapUp(MotionEvent e) {  
    Log.v("test", "onSingleTapUp");
    //viewA.setText("-" + "SINGLE TAP UP" + "-"+ i++);  
    return true;  
  }  
  
}  


参考资料:

1 GestureDetector and GestureDetector.OnGestureListener
2 how to implement android double tap?
Tags:
分页: 6/220 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐