我开始使用Leanback支持我们的应用程序.根据UI要求,我需要添加与每个标题对应的多个列表行,这与Youtube App在Android TV上的行为完全相同.默认ListRowPresenter似乎只渲染一个列表行及其标题.是否有任何支持多个列表行的演示者?我正在考虑在每个项目中嵌入RowsFragment创建自定义演示者的行,如果我的方法错误,请纠正我.
我正在寻找一个看起来像的textview .我用下面的代码来实现这个..
SpannableString text;
text = new SpannableString(bal_dollars.getText());
int index = bal_dollars.getText().toString().indexOf(".");
text.setSpan(new TextAppearanceSpan(getApplicationContext(),
R.style.HeroGraphicBalanceSmallFont), index, bal_dollars
.getText().toString().length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
bal_dollars.setText(text, TextView.BufferType.SPANNABLE);
Run Code Online (Sandbox Code Playgroud)
这是跨度中使用的样式..
<style name="HeroGraphicBalanceSmallFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">wrap_content</item>
<item name="android:textSize">50sp</item>
<item name="android:singleLine">true</item>
<item name="android:layout_height">match_parent</item>
<item name="android:layout_gravity">top|right</item>
<item name="android:paddingBottom">30dp</item>
<item name="android:gravity">top|right</item>
<item name="android:textColor">@color/status_text</item>
<item name="customFont">fonts/HeroicCondensedMedium.ttf</item>
</style>
Run Code Online (Sandbox Code Playgroud)
一切看起来都很好,除了目标文本跨度的间距,即小数部分重力. .我尝试了所有的xml属性.请帮忙
我在我的一个帐户中使用TEST许可证访问测试Android In app购买订阅(我知道测试访问不支持订阅).注意到orderId
购买回复JSON 没有,但付款通过(不收费,因为此订阅有7天的跟踪).响应json看起来像:
"packageName": "com.xxx.xxxx",
"productId": "yyyyyyyyyy_sdsda",
"purchaseTime": 1426055867418,
"purchaseState": 0,
"purchaseToken": "xxxxxxxxxxxx",
"autoRenewing": true
Run Code Online (Sandbox Code Playgroud)
没有找到'ORDERID'.尝试转换到另一个钱包帐户,但没有运气.任何线索?
我有一个自定义视频播放器,它在片段中使用SurfaceView.
/* Notify SDK on Surface Creation */
public void surfaceCreated(SurfaceHolder surfaceholder) {
if(null==m_strVideoPath)
return;
LogUtil.e(TAG, "initiating player now..");
initPlayer(m_strVideoPath);
playVideo(m_strVideoPath);
}
Run Code Online (Sandbox Code Playgroud)
我在SurfaceView updateWindow方法中看到很多崩溃存在null null异常.以下是崩溃日志:
java.lang.NullPointerException
at android.view.SurfaceView.updateWindow(SurfaceView.java:603)
at android.view.SurfaceView.access$000(SurfaceView.java:86)
at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:175)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:847)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1909)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1038)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5651)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:544)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5034)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:805)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:621)
at dalvik.system.NativeStart.main(Native Method)
在603行查看SurfaceView类的源代码,我发现:
if (redrawNeeded) {
602 if (DEBUG) Log.i(TAG, "finishedDrawing");
603 mSession.finishDrawing(mWindow);
604 …
我试图使用setAlpha(int a)方法更改视图Alpha,但它没有任何效果,并尝试在相同但相同的结果上执行alpha动画!请帮忙.这是代码的一部分..
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
myImage.setAlpha(1);
}
});
}
Run Code Online (Sandbox Code Playgroud) android ×5
android-tv ×1
android-ui ×1
google-play ×1
leanback ×1
subscription ×1
surfaceview ×1
testing ×1
textview ×1