Ric*_*ier 11 android android-widget
我正在创建一个除了显示一些静态信息之外什么都不做的基本小部件(这是我的教程演示练习).
我的widget提供程序XML看起来像:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialKeyguardLayout="@layout/widget"
android:initialLayout="@layout/widget"
android:minHeight="72dp"
android:minWidth="294dp"
android:updatePeriodMillis="60000" >
<!-- NOTE 1: -->
<!-- Widget sizing is done in terms of "blocks" on the screen. -->
<!-- Each block is 74dp square. -->
<!-- NOTE 2: -->
<!-- OLD & WRONG FORMULA used to be: size = (n*74) - 2 -->
<!-- NOTE 3: -->
<!-- NEW FORMULA has been UPDATED: size = (n*70) - 30 -->
<!-- Based on new formula, the size should be 40dp. -->
</appwidget-provider>
Run Code Online (Sandbox Code Playgroud)
我想要一个4x1的小部件.即1排高.
按照我在很多帖子中看到的公式,高度=(行x 74)-2,我得到一个72dp的minHeight数字,它应该为我提供1行/块的小部件高度.
安装在4.1.1上给了我一个4x2的小部件.
接下来,我想也许我的布局强迫小部件比预期更大.所以我从布局文件中删除了所有内容:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
仍然是4x2 - 2块高.
Ric*_*ier 17
正确使用的高度(1行/块)是:
android:minHeight="40dp"
Run Code Online (Sandbox Code Playgroud)
同样,正确的宽度(对于4列/块)是:
android:minWidth="250dp"
Run Code Online (Sandbox Code Playgroud)
我找到了基于这三个问题的答案(我应该先检查一下......)
原因在于Artiom Chilaru在这个答案中
他提供了App Widget设计指南的链接.
| 归档时间: |
|
| 查看次数: |
6989 次 |
| 最近记录: |