我做了一个使用的应用程序WebView.然而,它可以LogCat产生这个错误:
03-27 10:36:35.830: E/eglCodecCommon(1466): **** ERROR unknown type 0x0 (glSizeof,73)
Run Code Online (Sandbox Code Playgroud)
我知道0x0是一个未知的错误类型(在Linux命令中),但我该如何解决这个问题呢?
我的Java代码是:
@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends Activity {
/** Called when the activity is first created. */
private WebView edlineWebView;
private ProgressBar progressBar1;
private String currentUrl;
private boolean exitConfirmation;
private BroadcastReceiver completeReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Resources res = context.getResources();
Toast.makeText(context, res.getString(R.string.download_complete), Toast.LENGTH_SHORT).show();
startActivity(new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS));
}
};
final Activity activity = this;
@Override
public void …Run Code Online (Sandbox Code Playgroud) 使用最新的AppCompat-v21库,我曾经ActionBarActivity创建和填充PreferenceFragment.但是,ActionBar当方向或屏幕大小改变时,似乎不会改变高度和文本大小.对其他活动进行测试,这种行为似乎只发生在PreferenceActivity(与此处提出的问题相反:ActionBar容量/溢出不会改变方向变化).
首先,为了处理方向的变化,我加入android:configChanges="keyboard|keyboardHidden|orientation|screenSize"了Manifest.我怀疑这是造成这个问题的主要原因,但正如我之前提到的,这适用于其他问题Activity.
以下是一些解释此问题的屏幕截图:
PreferenceActivity以纵向模式启动:

从肖像旋转到风景:

PreferenceActivity以横向模式启动:

从风景旋转到肖像:

附加信息
这是PreferenceActivity班级:
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
public class PrefsActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getFragmentManager().beginTransaction().replace(android.R.id.content, new PrefsFragment()).commit();
}
}
Run Code Online (Sandbox Code Playgroud)
这种行为是个错误吗?如果没有,是否有解决方法或修复?
我尝试使用新的ToolBar小部件,但没有运气.
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
public class PrefsActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preference);
Toolbar toolbar = …Run Code Online (Sandbox Code Playgroud) android android-appcompat preferenceactivity android-orientation android-actionbar
我创建了一个service将图像叠加在整个屏幕上的图像.
这部分代码将覆盖整个屏幕顶部的图像:
@Override public void onCreate() {
super.onCreate();
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
img = new ImageView(this);
img.setImageResource(R.drawable.image); // Image is .png format
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.CENTER | Gravity.CENTER;
params.x = 0;
params.y = 0;
windowManager.addView(img, params);
}
Run Code Online (Sandbox Code Playgroud)
但是,图像覆盖的任何空间都是不可触及的.我希望图像只是重叠,而不会影响屏幕上的任何其他组件,类似于这样做:

如何使图像下方的区域可触摸(触摸)?
编辑
似乎图像的透明空间填充正方形,并覆盖屏幕(FYI).因此,我的最终目标是使图像触摸.
我尝试过这个popupWindow类,由一些SO用户推荐,但它的目的不能满足我的需求而且不起作用.
如何在片段中获取versionName?以下代码不起作用:
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
version = pInfo.versionName;
Run Code Online (Sandbox Code Playgroud) 我已经构建了一个完美的演示应用程序,如下所示:

几次运行后,Genymotion突然停止工作,出现如下屏幕:
.
Logcat会记录以下行:
05-25 13:58:24.326: E/eglCodecCommon(2163): writeFully: failed: Broken pipe
05-25 13:58:24.418: E/EGL_genymotion(2163): tid 2163: eglChooseConfig(544): error 0x3001 (EGL_NOT_INITIALIZED)
05-25 13:58:24.422: E/AndroidRuntime(2163): FATAL EXCEPTION: main
05-25 13:58:24.422: E/AndroidRuntime(2163): Process: com.nextgenintl.aimassistant, PID: 2163
05-25 13:58:24.422: E/AndroidRuntime(2163): java.lang.IllegalArgumentException: eglChooseConfig failed EGL_NOT_INITIALIZED
05-25 13:58:24.422: E/AndroidRuntime(2163): at android.view.HardwareRenderer$GlRenderer.chooseEglConfig(HardwareRenderer.java:1173)
05-25 13:58:24.422: E/AndroidRuntime(2163): at android.view.HardwareRenderer$GlRenderer.loadEglConfig(HardwareRenderer.java:1135)
05-25 13:58:24.422: E/AndroidRuntime(2163): at android.view.HardwareRenderer$GlRenderer.initializeEgl(HardwareRenderer.java:1117)
05-25 13:58:24.422: E/AndroidRuntime(2163): at android.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.java:1057)
05-25 13:58:24.422: E/AndroidRuntime(2163): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1550)
05-25 13:58:24.422: E/AndroidRuntime(2163): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
05-25 13:58:24.422: E/AndroidRuntime(2163): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
05-25 13:58:24.422: E/AndroidRuntime(2163): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) …Run Code Online (Sandbox Code Playgroud) 一个如何根据屏幕大小Fragment在a中显示多个s ViewPager;如果是小型设备,它会Fragment在一个屏幕上显示 1 。如果它是横向模式的平板电脑,它会Fragment在一个屏幕上显示 2 个,并排显示。如果是纵向模式的平板电脑,它会显示 1 Fragment?