我在Android TV应用程序中使用Google Leanback小部件.它使用带有ListRows的RowsFragment.
我想要确定的是,是否有任何方法可以以编程方式滚动到其中一行中的特定对象.我已经挖掘了Leanback小部件的文档,但无法找到我正在寻找的东西.
如何使用ActionBarSherlock使操作栏的图标更接近或远离彼此?有点像android:layout_marginLeft或android:paddingRight?
如果我只是在操作栏上添加图标,那么与下面的Soundhound截图相比,它们更远:

我的themes.xml:
<style name="Theme.AstraTheme_Purple" parent="@style/Theme.Sherlock">
<item name="actionBarStyle">@style/Widget.AstraTheme_Purple.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.AstraTheme_Purple.ActionBar</item>
<item name="actionButtonStyle">@style/Widget.AstraTheme_Purple.ActionButton</item>
<item name="android:actionButtonStyle">@style/Widget.AstraTheme_Purple.ActionButton</item>
</style>
<style name="Widget.AstraTheme_Purple.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="android:background">@drawable/purple_bar</item>
<item name="background">@drawable/purple_bar</item>
</style>
<style name="Widget.AstraTheme_Purple.ActionButton" parent="Widget.Sherlock.ActionButton">
<item name="android:minWidth">50dip</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Revue api将订阅者添加到我的新闻通讯中。根据文档,我需要在请求中添加一个名为“Authorization”的标头和值“Token MY-TOKEN”。
为了测试 API,我使用 Postman,如下面的屏幕截图所示:
我对任何 url 执行的任何请求都会以 401 结束。
我在这里缺少什么?正如文档所述,令牌值是从https://www.getrevue.co/app/integrations的底部复制粘贴的(“您的 API 密钥是 xyz”)。仔细检查是否添加了额外的空格。
所以我的屏幕代码看起来像这样。我有一个 useStateamount在重新渲染时不断重置为初始值。我有大约 3 个 useEffects。其中之一是在此处的示例代码中,我从数据库获取金额并使用 setAmount 设置它。
const ConfirmPaymentDialog = props => {
const getInitialVal = () => {
console.log('Initial Amount: 0');
return conversions.numberToBigNumber(0);
};
const [amount, setAmount] = useState<BigNumber>(getInitialVal());
useEffect(() => {
getAmountToPay();
},[]);
const getAmountToPay = async () => {
const amount = await myDbModule.getAmount(customer.id);
console.log('DB Amount: ' + amount?.toString());
setAmount(amount || conversions.numberToBigNumber(0));
};
useEffect(() => {
...
}, [isInputTextFocused])
console.log('Rendering');
return (<View>...</View>);
}
Run Code Online (Sandbox Code Playgroud)
当我打开此屏幕时。我收到以下控制台日志
LOG Initial Amount: 0
LOG Rendering
LOG DB Amount: 500
LOG …Run Code Online (Sandbox Code Playgroud) 我需要根据屏幕的物理大小更改布局中3个视图的layout_weight.视图的权重为0-1-0,但是当在xlarge屏幕中使用布局时,这必须更改为0.2-0.6-0.2.
我尝试在dimension.xml的不同副本中保存layout_weight(一个在values/dimensions中,另一个在values-xlarge/dimensions中),但看起来我不能在没有设置dp/px或w/e的情况下给出维度(无法保存"原始"数字,如1或0.2).
有可能以某种方式通过xml做,或者我必须以编程方式工作才能实现这一目标吗?
我无法解析包含日期的字符串,其中包括5月份希腊文的短版本(Μαϊ,简称为Μαιου - 关于ϊ-difference差异的注释).
例如:
25 ??? 1989
24 ??? 1967
Run Code Online (Sandbox Code Playgroud)
如果我使用以下格式,将无法解析:
"d MMM yyyy"
"dd MMM yyyy"
Run Code Online (Sandbox Code Playgroud)
通过以下代码:
String dateString = "24 ??? 1967"; // just an example of an input String
SimpleDateFormat format = new SimpleDateFormat(someFormat);
format.parse(dateString);
Run Code Online (Sandbox Code Playgroud)
编辑:我试图解析的值是存储在Android的sqlite3数据库中的字符串.特别是它的联系生日.虽然Android依赖,但我会分享任何见解的代码:
Cursor cur = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI,null,null,null,null);
while(cur.moveToNext()){
String birthdayString = cur.getString(INDEX_OF_BIRTHDAY);
}
Run Code Online (Sandbox Code Playgroud) I am using electron forge to create the dmg file from my electron app. I am using @electron-forge/maker-dmg to make the dmg.
My customers complain that the dmg cannot be used in their Intel machines. I tried searching around on how to make an Intel version of a dmg and could not find it.
Any electron forge pros out there? I am using an M1 Max to build the app.
My package.json looks like:
{
"name": "XXX",
"version": "XXX",
"description": …Run Code Online (Sandbox Code Playgroud) 我使用以下代码将草稿插入内容:// sms/draft
ContentValues values = new ContentValues();
values.put("address", receiver2);
values.put("body", body2);
values.put("date", String.valueOf(System.currentTimeMillis()));
values.put("type", "3");
values.put("thread_id", thread_id);
getContentResolver().insert(Uri.parse("content://sms/draft"), values);
Run Code Online (Sandbox Code Playgroud)
如果没有与上面地址的任何对话,thread_id为0,否则它是该线程的id.
当我运行此代码时,草稿确实已保存,但本机短信客户端(股票android 4.0.3)中的线程未更新为"草稿"[我可以看到草稿邮件正文,但没有"草稿"标签就可以了.我必须打开 - 关闭线程,以便标记为标记].我已经在某处读到了线程无法正确更新的问题.如何强制更新线程,以便在所有客户端中显示正常?
编辑:
阅读完答案后,我已经更新了我的代码,但问题仍然存在.我在下面添加了一个截图,因为当我写下我的问题时,我很匆忙而且写得不够清楚.
protected void save_draft(String[] recipients, String body) {
Uri threadIdUri = Uri.parse("content://mms-sms/threadID");
Uri.Builder builder = threadIdUri.buildUpon();
for (String recipient : recipients) {
builder.appendQueryParameter("recipient", recipient);
}
Uri uri = builder.build();
Long thread_id = get_thread_id(uri);
Log.d("thread_id", thread_id + " ");
ContentValues values = new ContentValues();
values.put("body", body);
values.put("date", String.valueOf(System.currentTimeMillis()));
values.put("type", 3);
values.put("thread_id", thread_id);
getContentResolver().insert(Uri.parse("content://sms/draft"), values);
//^tried "content://sms/" …Run Code Online (Sandbox Code Playgroud) 其实我正在为Android TV开发一个应用程序.我使用了来自leanback支持库v17的BrowseFragment来按子菜单导航.但是,现在我正在尝试构建家庭活动,如Android TV设备应用程序.你可以在这里看到它:https://medium.com/building-for-android-tv/building-for-android-tv-episode-1-2d03f9ba541e.我有问题要知道如何制作简单的行布局,比如推荐.我试过用RowsFragment类做到这一点,但我有一个错误膨胀XML.我想要没有左侧"抽屉"的BrowseFragment.
谢谢你的四个时间,抱歉我的英语不好.
我正在尝试构建一个演示器,该演示器在某个时间段内计算一些事件,仅在第一次加载时显示加载,并在完成时更新ui。因为可以通过多种方式(例如用户首选项)来更新事件,所以我需要能够告知演示者事件已更新,并且必须再次刷新它们。这是我现在所拥有的:
subject
.map<List<UpcomingRowViewModel>> {
provider.calculateEventsBetween(TimePeriod.aYearFrom(firstDay))
}
.doOnSubscribe {
view.showLoading()
}
.observeOn(resultScheduler)
.subscribeOn(workScheduler)
.subscribe { upcomingRowViewModels ->
view.display(upcomingRowViewModels)
}
subject.onNext(TRIGGER)
Run Code Online (Sandbox Code Playgroud)
主题是PublishSubjectInt。onNext()订阅后我会执行正确的操作,因为我希望在订阅数据后立即刷新数据。
上面的代码在我的单元测试中以及在仅在附有调试器的设备上运行时才起作用。如果我只是运行它(不使用任何调试器),它将到达该view.showLoading()部分,但是永远不会到达,provider.calculateEventsBetween(TimePeriod.aYearFrom(firstDay)因此UI会因加载而“卡住”。
有任何想法吗?
android ×5
android-tv ×2
leanback ×2
access-token ×1
date ×1
date-parsing ×1
electron ×1
icons ×1
java ×1
padding ×1
react-hooks ×1
react-native ×1
rx-java ×1
rx-kotlin ×1
sms ×1
xml ×1