android_motion_query 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a229c9f9b35ef709975966d4a4527a28e2179a3f
4
- data.tar.gz: 98375db35f31a7a8f65b23580dda5044adcfa3ce
3
+ metadata.gz: f7f99205bcc6f4dafcbe9c498145bdfa00e074bd
4
+ data.tar.gz: 61c0171cb6edf43e7b2e19cb9042d8fd58c2aac0
5
5
  SHA512:
6
- metadata.gz: 713f5b2fdee999eb6e40eeabed41e3d58b6f221022683b321eabf82d5aed11261cf583bf18de9584e1dcc3bb889526c647af4e1151f740b6d78b6b3630b26d34
7
- data.tar.gz: eae6dc3aec88c7bf4992f701f7fbb513b14aed2403ba6ed2188f733f2f305a4bcdd636e84b1ff9370d6520eeb4991960ded54aa4c32a92a2732e54f1adc0f8a3
6
+ metadata.gz: de113e65b2090b3ba519a5c5c9c89d5afb91f655072106685a5ed647362580fb8af4c42f61221acb1f98a7a500b6b3cab2ee82c760e664ff01cf514dd55b38d1
7
+ data.tar.gz: 583bf296545389fb1ffe6c0cc5122c8b318c1d65389e32a7d8724bbfd92785d71cf8ca41cd686d683cec3bd407155d1d62543ae6f1c3ff25021fd0c3f49c88f7
data/README.md CHANGED
@@ -173,13 +173,13 @@ class CalculatorScreen < AMQScreen
173
173
  end
174
174
  ```
175
175
 
176
- Please check the `example` folder for the complete calculator app code.
176
+ Please check the `examples` folder for the complete calculator code in addition to other demo apps.
177
177
 
178
178
 
179
179
  ## Todo List
180
180
  - [ ] Refactor - create more "single responsibility" classes and have smaller functions (this will never be "done", it's just here as a constant reminder)
181
181
  - [ ] Set automatic IDs for views
182
- - [ ] Add wrappers for all built-in android widgets (currently android_query supports 5 widgets)
182
+ - [ ] Add wrappers for all built-in android widgets (currently supports around 10 widgets)
183
183
  - [x] Add support for LinearLayouts
184
184
  - [ ] Add support for RelativeLayouts
185
185
  - [x] Add support for FrameLayouts
@@ -12,7 +12,7 @@ class AndroidMotionQuery
12
12
  end
13
13
 
14
14
  def create_android_query_view(view, style_method, layout_params, options = {}, &block)
15
- self.root = AMQView.new(view, self.activity, self.stylesheet, style_method, layout_params, options)
15
+ self.root ||= AMQView.new(view, self.activity, self.stylesheet, style_method, layout_params, options)
16
16
  self.stylesheet.apply_style_for(self.root, style_method, layout_params)
17
17
  block.call(self.root) if block_given?
18
18
  self.activity.setContentView(self.root.get)
@@ -30,32 +30,38 @@ class AndroidMotionQuery
30
30
  self.root.get.findViewById(id).tag
31
31
  end
32
32
 
33
- def add(view_sym, style, &block)
34
- self.send(view_sym, style, &block)
33
+ def add(view_sym, style_method, &block)
34
+ view, layout_params = self.send(view_sym, &block)
35
+ create_android_query_view(view, style_method, layout_params, {}, &block)
36
+ end
37
+
38
+ def add_alone(view_sym, style_method, &block)
39
+ view, layout_params = self.send(view_sym, &block)
40
+ create_standalone_amq_view(view, style_method, layout_params, {}, &block)
35
41
  end
36
42
 
37
- def linear_layout(style_method, &block)
43
+ def linear_layout(&block)
38
44
  view = Android::Widget::LinearLayout.new(self.activity)
39
45
  layout_params = Android::Widget::LinearLayout::LayoutParams
40
- create_android_query_view(view, style_method, layout_params, {}, &block)
46
+ [view, layout_params]
41
47
  end
42
48
 
43
- def relative_layout(style_method, &block)
49
+ def relative_layout(&block)
44
50
  view = Android::Widget::RelativeLayout.new(self.activity)
45
51
  layout_params = Android::Widget::RelativeLayout::LayoutParams
46
- create_android_query_view(view, style_method, layout_params, {}, &block)
52
+ [view, layout_params]
47
53
  end
48
54
 
49
- def frame_layout(style_method, &block)
55
+ def frame_layout(&block)
50
56
  view = Android::Widget::FrameLayout.new(self.activity)
51
57
  layout_params = Android::Widget::FrameLayout::LayoutParams
52
- create_android_query_view(view, style_method, layout_params, {}, &block)
58
+ [view, layout_params]
53
59
  end
54
60
 
55
- def text_view(style_method, &block)
61
+ def text_view(&block)
56
62
  view = Android::Widget::TextView.new(self.activity)
57
63
  layout_params = Android::Widget::LinearLayout::LayoutParams
58
- create_standalone_amq_view(view, style_method, layout_params, {}, &block)
64
+ [view, layout_params]
59
65
  end
60
66
 
61
67
  def toast(text, options = {})
@@ -248,6 +248,12 @@ class AMQStylesheetElement
248
248
  self.view.get.backgroundColor = AMQColor.parse_color(color.to_s)
249
249
  end
250
250
 
251
+ def background_image=(image_name)
252
+ context = self.view.get.getContext
253
+ resource_id = context.getResources.getIdentifier(image_name, "drawable", context.getPackageName)
254
+ self.view.get.backgroundResource = resource_id
255
+ end
256
+
251
257
  def image=(image_name)
252
258
  context = self.view.get.getContext
253
259
  resource_id = context.getResources.getIdentifier(image_name, "drawable", context.getPackageName)
@@ -282,6 +288,10 @@ class AMQStylesheetElement
282
288
  self.view.get.hint = t
283
289
  end
284
290
 
291
+ def alpha=(value)
292
+ self.view.get.alpha = value
293
+ end
294
+
285
295
  def input_type=(text_type)
286
296
  if INPUT_TYPES.keys.include? text_type
287
297
  self.view.get.inputType = INPUT_TYPES[text_type]
@@ -308,4 +318,16 @@ class AMQStylesheetElement
308
318
  self.params.gravity = :center
309
319
  end
310
320
  end
321
+
322
+ def number_of_columns=(columns)
323
+ self.view.get.numColumns = columns
324
+ end
325
+
326
+ def stretch_mode=(mode)
327
+ self.view.get.stretchMode = mode
328
+ end
329
+
330
+ def vertical_spacing=(space)
331
+ self.view.get.verticalSpacing = space
332
+ end
311
333
  end
@@ -1,3 +1,3 @@
1
1
  module AndroidQuery
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -59,6 +59,11 @@ class AMQView
59
59
  lp = Android::Widget::FrameLayout::LayoutParams
60
60
  create_android_query_view(view, style_method, lp, {}, &block)
61
61
  end
62
+
63
+ def plain_view(style_method, &block)
64
+ view = Android::View::View.new(self.activity)
65
+ new_view(view, style_method, &block)
66
+ end
62
67
 
63
68
  def text_view(style_method, &block)
64
69
  view = Android::Widget::TextView.new(self.activity)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: android_motion_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abdullah Esmail
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-23 00:00:00.000000000 Z
11
+ date: 2017-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake