我今天在Google Play上有一个付费应用,我希望将其更改为3个应用内购买的免费应用.问题在于如何向现有客户"提供"应用程序内购买,已经支付了应用程序的费用.
我刚才有一个想法 - 可以授权吗?
现有的付费应用程序使用Google许可,但当所有功能作为应用内购买购买时,这不再是必要的 - 对吗?因此,所有现有客户都拥有许可证,而所有新客户都不需要许可证.
是否可以检查许可证,如果发现允许用户访问与3个应用内购买相同的功能,则可以访问?
我有一个在一个XML文件中创建的RealtiveLayout,调整为480x320(纵向)视图.一切都是以"dip"单位创造的.基本上,它包含4个文本视图,每个文本视图使用四分之一的屏幕.它们都是由layout_marginLeft和layout_marginTop定位的.该应用程序具有以下功能:您可以点击这4个文本视图中的任何一个以使其变大,而其他3个将减小尺寸并在视图左侧彼此对齐.再次点击大读数,所有4将返回其初始大小.
这一切都可以在不同的设备和模拟器中正常工作 - 但如果模拟器运行android 3.0或更高版本则不行......
首先,应用程序无法扩展,因此我制作了一些代码来计算相对于屏幕大小的textview大小和字体大小.这一切都很漂亮,但在Android 3.0中,一旦文本调整大小,就会发生有趣的事情.它突然看起来好像在实际文本之前插入了一个空行,这意味着我只看到我要显示的文本的顶部.
以下是textview的定义方式.每个读数顶部都有一个透明按钮.
<TextView android:id="@+id/out1"
android:textStyle="bold"
android:typeface="serif"
android:text="@string/Out1_text"
android:layout_height="80dip"
android:layout_width="161dip"
android:layout_marginLeft="54dip"
android:layout_marginTop="57dip"
android:scrollHorizontally="true"
android:gravity="left|top"
android:maxLines="1"
android:background="#7f7f7f"
android:textColor="@android:color/white"/>
<ImageButton android:id="@+id/BigButton1"
android:background="@drawable/transparent"
android:layout_marginLeft="54dp"
android:layout_marginTop="57dp"
android:layout_width="161dp"
android:layout_height="80dp"/>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了不同的东西,以确保它只有一行文字,我已经将引力设置在左上方(即使这不是我想要的),但同样的事情继续发生.
我通过以下代码更改TextView的大小和字体以及按钮大小:
RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(NewOut1Width, NewOut1Height);
params1.setMargins(NewOut1X, NewOut1Y, 0, 0);
big1Button.setLayoutParams(params1);
out1_txtView.setLayoutParams(params1);
out1_txtView.setTextSize(NewOut1FontSize);
Run Code Online (Sandbox Code Playgroud)
"有趣"的事情是我最初调用我的调整大小例程,一切看起来都没问题,一旦我将一个读数设置为大,然后再次返回标准尺寸(使用与初始显示相同的值,textview文本那个很大的已经在textview中向下移动了一行.
有没有人知道发生了什么?
附加信息 我试图添加一个getLineBounds,它表明textView的基线随着textSize的增加而增加,但是当textSize减少时它不会再次下降.如果我有重力顶部,中心或底部并不重要.