android_motion_query 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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