如何使用Android'flavor'strings.xml

时间:2016-05-04 21:52:51

标签: android gradle

我有一个应用程序,它将有免费和付费版本。我可以在build.gradle中成功创建'flavors'并在'src'下创建新文件夹。

我已经为每种风格添加了一个strings.xml。

的src / flavor1 / RES /值/ strings.xml中

的src / flavor2 / RES /值/ strings.xml中

这是一个布尔:

<resources>
    <bool name="FullVersion">false</bool>
</resources>

一种味道是真的,一种是假的。我在主文件夹下的'strings.xml'中没有这个'bool'。

我试图在主文件夹的布局中引用它来确定是否启用了某些内容。

enter image description here

看起来这让我很困惑。你是对的。它确实有效,但是我的启用显示错误,预览将不会因此而呈现。 它确实有效

2 个答案:

答案 0 :(得分:3)

使用from math import sqrt import pytweening class ClosestPoint_WD(object): def __init__(self, screen_size, point_from, point_to): self._width = screen_size[0] self._height = screen_size[1] self._point_from = point_from self._point_to = point_to self._points = {} self._path = [] def __str__(self): value = "The dictionary:" + '\n' for point in self._points: value = value + str(point) + ":" + str(self._points[point]) + '\n' return value def distance(self, pos0, pos1): dx = pos1[0] - pos0[0] dy = pos1[1] - pos0[1] dz = sqrt(dx**2 + dy**2) return dz def add_point_to_dict(self, x, y): point = x, y self._points[point] = 0 def gen_points(self): max_x = self._width * 1.5 - 1 max_y = self._height * 1.5 - 1 # point 1, original point self.add_point_to_dict(self._point_to[0], self._point_to[1]) # add the second point: x-shifted if self._point_to[0] + self._width <= max_x: self.add_point_to_dict(self._point_to[0] + self._width, self._point_to[1]) else: self.add_point_to_dict(self._point_to[0] - self._width, self._point_to[1]) # add the third point: y-shifted if self._point_to[1] + self._height <= max_y: self.add_point_to_dict(self._point_to[0], self._point_to[1] + self._height) else: self.add_point_to_dict(self._point_to[0], self._point_to[1] - self._height) # add the fourth point: diagonally shifted if self._point_to[0] + self._width <= max_x: if self._point_to[1] + self._height <= max_y: self.add_point_to_dict(self._point_to[0] + self._width, self._point_to[1] + self._height) else: self.add_point_to_dict(self._point_to[0] + self._width, self._point_to[1] - self._height) else: if self._point_to[1] + self._height <= max_y: self.add_point_to_dict(self._point_to[0] - self._width, self._point_to[1] + self._height) else: self.add_point_to_dict(self._point_to[0] - self._width, self._point_to[1] - self._height) def calc_point_distances(self): for point in self._points: self._points[point] = self.distance(self._point_from, point) def closest_point(self): d = self._points return min(d, key=d.get) def update(self, cur_pos, target): self._point_from = cur_pos self._point_to = target self._points = {} self.gen_points() self.calc_point_distances() self.shortest_path() def shortest_path(self): path = pytweening.getLine(self._point_from[0], self._point_from[1], self.closest_point()[0], self.closest_point()[1]) #path = pytweening.getLine((self._point_from) ret_path = [] for point in path: ret_path.append((point[0] % self._width, point[1] % self._height)) self._path = ret_path return self._path

话虽如此,您可能希望将此资源移至android:enabled="@bool/FullVersion"文件,或至少移出bools.xml,以简化您的翻译工作。

答案 1 :(得分:0)

我在这里发现了问题。我需要在我的口味中定义更多信息&#39;:

minSdkVersion 15
targetSdkVersion 23
versionCode 1

现在一切正常。