【发布时间】:2012-03-26 19:53:34
【问题描述】:
我正在尝试在运行 Honeycomb 3.2.2 的 Xyboard 10.1 (Xoom 2) 上的列表上获得“fadingEdge”效果。作为演示问题的一种方式,我正在使用基本的 android 列表视图教程,如下所述:
http://developer.android.com/resources/tutorials/views/hello-listview.html
修改后的代码如下:
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] countries = getResources().getStringArray(R.array.countries_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setVerticalFadingEdgeEnabled( true );
lv.setHorizontalFadingEdgeEnabled( true );
lv.setFadingEdgeLength( 30 );
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
具体来说,我在中间添加了三行启用双向淡入淡出,并设置了任意淡入淡出长度。我还验证了从 get-fade-strength getter 中返回的有效值和期望值,所以这与强度 getter 返回零无关。
请注意,在我们的实际应用程序中,我们必须以编程方式启用此功能,这就是我没有在 XML 中配置此行为的原因。
除了 Xyboard,我已经验证了这个测试类和淡入淡出效果在我尝试过的所有其他设备上都能成功运行,包括:
- Galaxy Tab 8.9(蜂窝 3.1)
- Galaxy Nexus (ICS 4.0)
- 模拟器(Honeycomb 3.2)
【问题讨论】:
-
您是否验证了内置应用程序在 Xyboard 上正确显示了褪色边缘?
-
也许我只是不知道在哪里看,但我在任何地方都看不到这种效果。我查看了几个主要的谷歌应用程序(如 Youtube、音乐、市场等),但我没有看到这种消退。是否有任何已知的应用程序位置肯定可以找到这种淡入淡出效果,以便我检查?
-
Kindle 应用程序 (3.5.1) 的主图书视图底部似乎有一个黑色的渐变边缘。另外一个想法是,在 Android 开发中,渐隐式边缘似乎已经过时了——但我不想阻止你做一些基于信条的事情。
-
我正在运行 Kindle 3.5.1.1,并且在应用程序中看不到任何褪色边缘。我检查了书籍选择屏幕和实际的阅读书屏幕。我很欣赏关于褪色已经过时的评论,但它目前在我们的应用程序中是有目的的,因此在设计出合适的替代品之前对我们很有用。
-
为了让我们清楚,当我们谈论“淡化边缘”时,我们谈论的是
ListView在边缘淡出到某种颜色时的方式那个方向的内容不在屏幕上?