zoukankan      html  css  js  c++  java
  • android小应用帮美女更衣系列一(附源码)

    哈哈,在苹果手机上玩过类似游戏,在eoe上发现一个兄弟也模仿做了一个,今天趁周末自己也做了一个,借用了那位兄弟的一些美女图片,应该不涉及版权吧。程序有点yellow,希望iteye管理员高台贵手 ,本意是给大家带来点乐趣。 

    为保护你的隐私,设置了密码保护。
     
    下面贴部分关键代码: 
    Java代码  收藏代码
    1. @Override  
    2.     public void onClick(View v) {  
    3.         int id = v.getId();  
    4.         switch (id) {  
    5.         case R.id.yesBtn: {  
    6.             SharedPreferences preferences = getSharedPreferences("password",Activity.MODE_PRIVATE);    
    7.             String pwd = preferences.getString("pwd""");  
    8.             if(pwd!=null&&!"".equals(pwd)){  
    9.                 if(password.getText().toString()!=""&&password.getText()!=null&&password.getText().toString().equals(pwd)){  
    10.                     //Toast.makeText(PasswordActivity.this, "密码一致,请重新输入密码", Toast.LENGTH_SHORT).show();  
    11.                     Intent intent = new Intent();  
    12.                     intent.setClass(PasswordActivity.this, SettingsActivity.class);  
    13.                     startActivity(intent);  
    14.                     PasswordActivity.this.finish();  
    15.                 }else{  
    16.                     Toast.makeText(PasswordActivity.this"密码不一致,请重新输入密码", Toast.LENGTH_SHORT).show();  
    17.                 }  
    18.             }else{  
    19.                 SharedPreferences ferences = getSharedPreferences("password",Activity.MODE_PRIVATE);  
    20.                 SharedPreferences.Editor editor = ferences.edit();  
    21.                 editor.putString("pwd", password.getText().toString());  
    22.                 editor.commit();  
    23.                 //Toast.makeText(PasswordActivity.this, "已经设置密码", Toast.LENGTH_SHORT).show();  
    24.                 Intent intent = new Intent();  
    25.                 intent.setClass(PasswordActivity.this, SettingsActivity.class);  
    26.                 startActivity(intent);  
    27.                 PasswordActivity.this.finish();  
    28.             }  
    29.               
    30.               
    31.         }  
    32.             break;  
    33.         case R.id.cancelBtn: {  
    34.             PasswordActivity.this.finish();  
    35.         }  
    36.             break;  
    37.         }  
    38.     }  


    下面是下面这张图片所显示的界面的实现,底部是一个gallery,显示大图用的是ImageSwither这个组件,一点要注意的地方是要实现ViewFactory接口并实现方法makeView(); 

     
    Java代码  收藏代码
    1. package com.picture;  
    2.   
    3. import android.app.Activity;  
    4. import android.content.Context;  
    5. import android.content.Intent;  
    6. import android.os.Bundle;  
    7. import android.view.View;  
    8. import android.view.View.OnClickListener;  
    9. import android.view.ViewGroup;  
    10. import android.widget.AdapterView;  
    11. import android.widget.AdapterView.OnItemSelectedListener;  
    12. import android.widget.BaseAdapter;  
    13. import android.widget.Gallery;  
    14. import android.widget.Gallery.LayoutParams;  
    15. import android.widget.ImageSwitcher;  
    16. import android.widget.ImageView;  
    17. import android.widget.ImageView.ScaleType;  
    18. import android.widget.Toast;  
    19. import android.widget.ViewSwitcher.ViewFactory;  
    20.   
    21. public class MainActivity extends Activity implements ViewFactory {  
    22.     private ImageSwitcher is;  
    23.     private Gallery gallery;  
    24.   
    25.     @Override  
    26.     protected void onCreate(Bundle savedInstanceState) {  
    27.         super.onCreate(savedInstanceState);  
    28.         setContentView(R.layout.main);  
    29.         setupViews();  
    30.         setupListener();  
    31.     }  
    32.       
    33.     private void setupViews(){  
    34.         is = (ImageSwitcher)findViewById(R.id.image_switcher);  
    35.         is.setFactory(this);  
    36.         gallery = (Gallery)findViewById(R.id.gallery);  
    37.         gallery.setAdapter(new ImageAdapter(MainActivity.this));  
    38.     }  
    39.     private void setupListener(){  
    40.         gallery.setOnItemSelectedListener(new OnItemSelectedListener() {  
    41.             @Override  
    42.             public void onItemSelected(AdapterView<?> parent, View view,  
    43.                     int position, long id) {  
    44.                 int drawableId = 0;  
    45.                 try {  
    46.                     drawableId = R.drawable.class.getDeclaredField(  
    47.                             "pre" + position).getInt(this);  
    48.                 } catch (IllegalArgumentException e) {  
    49.                     e.printStackTrace();  
    50.                 } catch (SecurityException e) {  
    51.                     e.printStackTrace();  
    52.                 } catch (IllegalAccessException e) {  
    53.                     e.printStackTrace();  
    54.                 } catch (NoSuchFieldException e) {  
    55.                     e.printStackTrace();  
    56.                 }  
    57.                 is.setImageResource(drawableId);  
    58.                   
    59.             }  
    60.             @Override  
    61.             public void onNothingSelected(AdapterView<?> parent) {  
    62.             }    
    63.         });  
    64.           
    65.         is.setOnClickListener(new OnClickListener() {  
    66.             @Override  
    67.             public void onClick(View v){  
    68.                 Intent intent = new Intent();  
    69.                 intent.putExtra("imagePosition", gallery.getSelectedItemPosition());  
    70.                 intent.setClass(MainActivity.this, RemoveClothActivity.class);  
    71.                 startActivity(intent);  
    72.             }  
    73.         });  
    74.     }  
    75.       
    76.     private class ImageAdapter extends BaseAdapter {  
    77.         private Context mContext;  
    78.         public ImageAdapter(Context c){  
    79.             mContext = c;  
    80.         }  
    81.         @Override  
    82.         public int getCount() {  
    83.             return 11;//11张图片  
    84.         }  
    85.         @Override  
    86.         public Object getItem(int position) {  
    87.             return position;  
    88.         }  
    89.         @Override  
    90.         public long getItemId(int position) {  
    91.             return position;  
    92.         }  
    93.   
    94.         @Override  
    95.         public View getView(int position, View convertView, ViewGroup parent) {  
    96.             ImageView imageView = new ImageView(mContext);  
    97.             int drawableId = 0;  
    98.             try {  
    99.                 drawableId = R.drawable.class.getDeclaredField(  
    100.                         "pre" + position).getInt(this);  
    101.             } catch (IllegalArgumentException e) {  
    102.                 e.printStackTrace();  
    103.             } catch (SecurityException e) {  
    104.                 e.printStackTrace();  
    105.             } catch (IllegalAccessException e) {  
    106.                 e.printStackTrace();  
    107.             } catch (NoSuchFieldException e) {  
    108.                 e.printStackTrace();  
    109.             }  
    110.             imageView.setLayoutParams(new Gallery.LayoutParams(120,120));  
    111.             imageView.setScaleType(ScaleType.FIT_XY);  
    112.             imageView.setImageResource(drawableId);  
    113.             return imageView;  
    114.         }  
    115.     }  
    116.   
    117.     @Override  
    118.     public View makeView() {  
    119.         ImageView i = new ImageView(this);  
    120.         i.setBackgroundColor(0xFF000000);  
    121.         i.setScaleType(ImageView.ScaleType.FIT_CENTER);  
    122.         i.setLayoutParams(new ImageSwitcher.LayoutParams(  
    123.                 LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));  
    124.         return i;  
    125.     };  
    126. }  



  • 相关阅读:
    kill命令
    linux grep命令
    ps命令详解
    Linux chmod命令详解
    Linux netstat命令详解
    多线程同步机制的几种方法
    C++_运算符重载 总结
    malloc/free与new/delete的区别
    python发送邮件
    linux之nfs
  • 原文地址:https://www.cnblogs.com/afly/p/2360262.html
Copyright © 2011-2022 走看看