我有一个垂直的LinearLayout.它应该作为快速跳跃杆.因此宽度非常小,高度几乎匹配整个屏幕高度.当我触摸它并在里面移动时,一切都很好.这意味着,我onTouchEvent()被召唤,我可以得到(并跟随)手指的位置.但由于条形图不是很宽,因此用户可以轻松地漂移到该视图之外.因此,即使在视图之外,也必须让用户继续运动.事实上同样的事情就像ListView一样.
我不知道为什么ListView的onTouchEvent()是,即使外面的时候叫ListView,但不是在我的情况LinearLayout.我把它追溯到了dispatchTouchEvent().这里的情况是相同的,即总是调用方法ListView(即使在外面),但在LinearLayout(在外面移动时)的情况下也不需要.
如果有人能给我一个提示,我会很高兴.非常感谢!
贝恩德
我有"华擎"中的"Beebox".该机器的处理器是Intel Celeron N3150,支持VP8视频流的硬件编码和解码.我想在Google Chrome(在Debian Linux上)中使用此功能来进行WebRTC调用.但我不确定如何证明Chrome真正使用硬件编码/解码.
到目前为止我的发现
不幸的是,Linux上的情况非常令人困惑.除了不同的加速API(VAAPI,VDPAU等),其中我不知道Chrome实际上使用了哪些,Chrome通过以下方式增加了额外的混淆:
视频解码:仅限软件,硬件加速不可用
视频编码:硬件加速
在" chrome:// gpu "页面上.
编码:尽管ist说加速编码,但在将HD Video编码为VP8流时,我的CPU负载为60-70%.这对我来说看起来不像HW编码.
解码:就我在网上看到的而言,Linux下的Chrome上似乎根本不支持硬件解码.有一个名为--ignore-gpu-blacklist的Chrome开关确实将" 视频解码 "行从" 仅软件...... "变为" 硬件加速 ",但这并没有改变任何东西.我还与Kodi和VLC等不同的媒体播放器进行了一些研究.这些播放器在播放VP8时显示CPU负载约为25-30%,这确实可能是硬件解码,但令人惊讶的是,当我关闭这些播放器中的硬件编码时,根本没有任何变化.这反过来让我相信即使这些也不会在HW中解码.
工具: 我发现了一些工具,甚至来自英特尔,但大多数都是指GPU负载(这意味着3D加速).我还尝试了来自mesa-utils的glxinfo,其中说:" 直接渲染:是 ",并且根据该线程确认支持HW解码(?).但这只是说明支持是可用的,而不是当前是否有任何应用程序真正使用它.
题
当在Linux上编码或解码VP8视频流时,有没有办法清楚地验证硬件编码器和/或解码器是否正常工作?
我非常感谢你的帮助!
我正在努力解决一个让我疯狂的问题.我在论坛中发现了类似的问题,但它们都不像这一样.所以我希望有人能够解决这个问题.或者告诉我我做错了什么.;-)
设置:
我有一个ListView.以下XML代码表示子元素:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:id = "@+id/container">
<EditText android:id = "@+id/child"
android:layout_width = "300dp"
android:layout_height = "wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
它是一个LinearLayout,内部还有一个EditText视图.以下代码将一个子项添加到列表中.由于的EditText视图比它嵌入的LinearLayout,为了测试我已经附上点击收听到这个(第一)的孩子的LinearLayout的空白空间较小.单击此子项时,第二个子项将插入ListView:
public class Keyboard_Bug extends ListActivity
{
static BugAdapter mAdapter;
static String [] mNameArray = new String [2];
static int mCount;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mNameArray[0] = "Entry 1";
mCount = 1;
mAdapter = new BugAdapter(this);
setListAdapter(mAdapter);
}
public static class BugAdapter extends BaseAdapter
{
final …Run Code Online (Sandbox Code Playgroud)