Help in OnkeyDown event with gallery

Put your problem here if it does not fit any of the other categories.

Help in OnkeyDown event with gallery

Postby saty_32016 » Tue Apr 08, 2008 11:58 am

Hi All

I have following code what i want in gallery view is that when DPAD left key pressed image should
changed (which is working fine) in gallery view also if check box is clicked(or true) it should back to
false.so that in next image it displays checkbox unclicked and a user can click it. so that i can save state of image
and checkbox.or any method via i can dynamically create check box along with gallery.

Please help

Thanks in advance.
Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. package Com.TechM.ImageDis;
  2.  
  3.  
  4.  
  5. import java.io.File;
  6.  
  7. import java.io.FilenameFilter;
  8.  
  9.  
  10.  
  11. import android.app.Activity;
  12.  
  13. import android.content.Context;
  14.  
  15. import android.net.Uri;
  16.  
  17. import android.os.Bundle;
  18.  
  19. import android.view.KeyEvent;
  20.  
  21. import android.view.View;
  22.  
  23. import android.view.ViewGroup;
  24.  
  25. import android.widget.BaseAdapter;
  26.  
  27. import android.widget.CheckBox;
  28.  
  29. import android.widget.Gallery;
  30.  
  31. import android.widget.ImageView;
  32.  
  33.  
  34.  
  35. public class ImageDis extends Activity{
  36.  
  37.         private Uri[] mUrls;
  38.  
  39.         String[] mFiles=null;
  40.  
  41.         CheckBox check ;
  42.  
  43.         class ImageFilter implements FilenameFilter{
  44.  
  45.                 public boolean accept(File dir, String name){
  46.  
  47.                         return (name.endsWith(".jpg"));
  48.  
  49.                         }
  50.  
  51.                 }
  52.  
  53.        
  54.  
  55.         public void onCreate(Bundle icicle){
  56.  
  57.                 super.onCreate(icicle);
  58.  
  59.                 setContentView(R.layout.main);
  60.  
  61.                 File images = new File("/sdcard/");
  62.  
  63.                 File[] imagelist = images.listFiles(new ImageFilter());
  64.  
  65.                 mFiles = new String[imagelist.length];
  66.  
  67.                 check = (CheckBox)findViewById(R.id.print);
  68.  
  69.                 for(int i= 0 ; i< imagelist.length; i++){
  70.  
  71.                         mFiles[i] = imagelist[i].getAbsolutePath();
  72.  
  73.                         }
  74.  
  75.                 mUrls = new Uri[mFiles.length];
  76.  
  77.                 for(int i=0; i < mFiles.length; i++){
  78.  
  79.                         mUrls[i] = Uri.parse(mFiles[i]);
  80.  
  81.                         }
  82.  
  83.                 Gallery g = (Gallery) findViewById(R.id.gallery);
  84.  
  85.                 g.setAdapter(new ImageAdapter(this));
  86.  
  87.                 //Color c = new Color();
  88.  
  89.                 //int color = c.rgb(153, 153,153);94, 145,196;114, 114,114;86, 106,131;232, 235,240;
  90.  
  91.                 /*int color = c.rgb(232, 235,240);
  92.  
  93.                 g.setBackgroundColor(color);*/
  94.  
  95.                 //g.setSelectorSkin(getResources().getDrawable(R.drawable.love ));
  96.  
  97.                 //check.setFocusable(true);
  98.  
  99.                 takeKeyEvents(true);
  100.  
  101.                 g.setOnKeyListener(new View.OnKeyListener(){
  102.  
  103.                         public boolean  onKey(View v, int keyCode, KeyEvent event)  {
  104.  
  105.                                   if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
  106.  
  107.                                        
  108.  
  109.                                        
  110.  
  111.                                         if(check.isChecked())
  112.  
  113.                                     {
  114.  
  115.                                           check.setChecked(false);
  116.  
  117.                                           check.invalidate();
  118.  
  119.                                     }
  120.  
  121.                                     return false;
  122.  
  123.                                 } else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
  124.  
  125.                                         if(check.isChecked())
  126.  
  127.                                     {
  128.  
  129.                                           check.setChecked(false);
  130.  
  131.                                           check.invalidate();
  132.  
  133.                                     }
  134.  
  135.                                     return false;
  136.  
  137.                                 } else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
  138.  
  139.                                         if(check.isChecked())
  140.  
  141.                                     {
  142.  
  143.                                           check.setChecked(false);
  144.  
  145.                                           check.invalidate();
  146.  
  147.                                     }
  148.  
  149.                                     return false;
  150.  
  151.                                 } else if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
  152.  
  153.                                         if(check.isChecked())
  154.  
  155.                                     {
  156.  
  157.                                           check.setChecked(false);
  158.  
  159.                                           check.invalidate();
  160.  
  161.                                     }
  162.  
  163.                                     return false;
  164.  
  165.                                 }
  166.  
  167.                                 return false;
  168.  
  169.                                     //return super.onKeyDown(keyCode, event);
  170.  
  171.                                        
  172.  
  173.                                 }
  174.  
  175.                    });
  176.  
  177.                 /*
  178.  
  179.                 g.setOnFocusChangeListener(new View.OnFocusChangeListener(){
  180.  
  181.                         public void onFocusChanged(View arg0, boolean arg1) {
  182.  
  183.                                 if (arg1) {
  184.  
  185.                                                 if(check.isChecked())
  186.  
  187.                                                 {
  188.  
  189.                                                         check.setChecked(false);
  190.  
  191.                                                         check.invalidate();
  192.  
  193.                                                 }
  194.  
  195.                                         }
  196.  
  197.                                 }
  198.  
  199.                         }
  200.  
  201.                 );
  202.  
  203.                 */
  204.  
  205.                
  206.  
  207.                
  208.  
  209.                 }
  210.  
  211.         public class ImageAdapter extends BaseAdapter{
  212.  
  213.                 public ImageAdapter(Context c){
  214.  
  215.                         mContext = c;
  216.  
  217.                 }
  218.  
  219.                 public int getCount(){
  220.  
  221.                         return mUrls.length;
  222.  
  223.                         }
  224.  
  225.                 public Object getItem(int position){
  226.  
  227.                         return position;
  228.  
  229.                         }
  230.  
  231.                 public long getItemId(int position){
  232.  
  233.                                 return position;
  234.  
  235.                         }
  236.  
  237.                         public View getView(int position, View convertView, ViewGroup parent){
  238.  
  239.                                 ImageView i = new ImageView(mContext);
  240.  
  241.                                 i.setImageURI(mUrls[position]);
  242.  
  243.                                 i.setScaleType(ImageView.ScaleType.FIT_XY);
  244.  
  245.                                
  246.  
  247.                                 i.setLayoutParams(new Gallery.LayoutParams(260, 250));
  248.  
  249.                                 return i;
  250.  
  251.                                 }
  252.  
  253.                         public float getAlpha(boolean focused, int offset){
  254.  
  255.                                 return Math.max(1.0f, 1.0f - (0.2f * Math.abs(offset)));
  256.  
  257.                                 }
  258.  
  259.                         public float getScale(boolean focused, int offset){
  260.  
  261.                                 return Math.max(0.5f, 1.0f - (0.25f * Math.abs(offset)));
  262.  
  263.                                 }
  264.  
  265.                         private Context mContext;
  266.  
  267.                         }
  268.  
  269.  
Parsed in 0.047 seconds, using GeSHi 1.0.8.4


Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  4.  
  5.    android:layout_width="fill_parent"
  6.  
  7.    android:layout_height="fill_parent"
  8.  
  9.    android:orientation="vertical"
  10.  
  11.    >
  12.  
  13.    
  14.  
  15. <Gallery
  16.  
  17.    android:id="@+id/gallery"
  18.  
  19.        android:layout_width="fill_parent"
  20.  
  21.        android:layout_height="fill_parent"    
  22.  
  23.        android:layout_alignParentBottom="true"    
  24.  
  25.        android:layout_alignParentLeft="true"    
  26.  
  27.        android:gravity="center_vertical"    
  28.  
  29.        android:spacing="5"
  30.  
  31.        
  32.  
  33.        />
  34.  
  35.        
  36.  
  37. <CheckBox android:id="@+id/print"
  38.  
  39.          android:text="Print"
  40.  
  41.          android:layout_width="wrap_content"
  42.  
  43.          android:layout_height="wrap_content"
  44.  
  45.          android:height="10mm"
  46.  
  47.          android:width="20mm"
  48.  
  49.          android:layout_marginTop ="0mm"
  50.  
  51.          android:layout_marginLeft ="0mm"
  52.  
  53.          android:textStyle="bold"
  54.  
  55.          android:gravity="top"
  56.  
  57. />
  58.  
  59.     </RelativeLayout>    
Parsed in 0.003 seconds, using GeSHi 1.0.8.4
Last edited by saty_32016 on Wed Apr 09, 2008 10:17 am, edited 1 time in total.
saty_32016
Developer
Developer
 
Posts: 27
Joined: Mon Mar 10, 2008 4:47 am

Top

Re: Help in OnkeyDown event with gallery

Postby saty_32016 » Wed Apr 09, 2008 5:14 am

now i have edited my code tried some other way to do this. both operation (check box and image move in gallery) not happening same time,either image move or checkbox select false.

can any body have any idea?

my moto is to create an application in which I am implementing gallery and checkbox.

Now my need is that whenever I click on either right or left arrow key, image should be changed and simultaneously I want to change the state of checkbox.

I tried to override onkeydown method but on right and left click images are changing but state of checkbox is not changing.
saty_32016
Developer
Developer
 
Posts: 27
Joined: Mon Mar 10, 2008 4:47 am

Top

Return to Other Coding-Problems

Who is online

Users browsing this forum: No registered users and 20 guests