扭曲的应用程序屏幕 - Android

时间:2015-01-20 09:42:05

标签: android android-layout android-activity android-fragments

我们的应用程序在华为8510上看起来像这样,Android版本是2.3.5。 此屏幕截图来自我们的客户。我们在应用上禁用了截图,因此我们的客户使用另一部手机截取屏幕截图

怎么可能?

enter image description here

这是布局代码,我认为没有问题。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:layout_width="0px"
    android:layout_height="0px"
    android:focusable="true"
    android:focusableInTouchMode="true" />

<com.asdasd.asdasd.controls.CMScrollView
    android:id="@+id/scvAgreement"
    style="@style/pm_ContentStyle"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:fadingEdge="none"
    android:paddingLeft="0dp"
    android:paddingRight="0dp">

    <TextView
        android:id="@+id/tvAgreement"
        style="@style/pm_TextStyle"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_horizontal"
        android:layout_marginLeft="@dimen/pm_content_padding_left"
        android:layout_marginRight="@dimen/pm_content_padding_right"
        android:gravity="center"
        android:text=""
        android:typeface="monospace" />
</com.asdasd.asdasd.controls.CMScrollView>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0"
    android:orientation="horizontal">

    <Button
        style="@style/pm_ButtonStyle_Standart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/selector_btn_black"
        android:gravity="center"
        android:onClick="onBtnNegativeClicked"
        android:text="@string/pgPrivacy_btnNotAccept"
        android:textSize="@dimen/pm_middle_text_size"
        android:singleLine="false"/>

    <Button
        android:id="@+id/btnSendAgreement"
        style="@style/pm_ButtonStyle_Standart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/pm_button_margin_left"
        android:layout_weight="1"
        android:background="@drawable/selector_btn_black"
        android:enabled="false"
        android:gravity="center"
        android:onClick="onBtnSendAgreement"
        android:text="@string/pgPrivacy_btnSendAgreement"
        android:textSize="@dimen/pm_middle_text_size"
        android:singleLine="false"/>

    <Button
        android:id="@+id/btnPositive"
        style="@style/pm_ButtonStyle_Standart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/pm_button_margin_left"
        android:layout_weight="1"
        android:background="@drawable/selector_btn_orange"
        android:enabled="false"
        android:gravity="center"
        android:onClick="onBtnPositiveClicked"
        android:text="@string/pgPrivacy_btnAccept"
        android:textSize="@dimen/pm_middle_text_size"
        android:singleLine="false"/>
</LinearLayout>

还有我们的自定义listView

public class CMScrollView extends ScrollView {
public static final String LOG_TAG = "com.asdasd.asdasd.controls.CMScrollView";
private OnScrollViewReachedToEnd onScrollViewReachedToEnd;

public CMScrollView(Context context, AttributeSet st) {
    super(context, st);
}

public OnScrollViewReachedToEnd getOnScrollViewReachedToEnd() {
    return onScrollViewReachedToEnd;
}

public void setOnScrollViewReachedToEnd(OnScrollViewReachedToEnd onScrollViewReachedToEnd) {
    this.onScrollViewReachedToEnd = onScrollViewReachedToEnd;
}

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    View view = (View) getChildAt(getChildCount() - 1);
    int diff = (view.getBottom() - (getHeight() + getScrollY() + view.getTop()));// Calculate the scrolldiff
    if (diff == 0) {  // if diff is zero, then the bottom has been reached
        if (ApplicationController.DEBUGMODE)
            Log.d(CMScrollView.LOG_TAG, "MyScrollView: Bottom has been reached");
        if (onScrollViewReachedToEnd != null) {
            onScrollViewReachedToEnd.onReachedToEnd(this);
        }
    }
    super.onScrollChanged(l, t, oldl, oldt);
}

public interface OnScrollViewReachedToEnd {
    void onReachedToEnd(IngScrollView scrollView);
}}
AndroidManifest GL版上的

<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />

1 个答案:

答案 0 :(得分:1)

我的一位朋友在很长一段时间后发现了一个很有希望的答案。搜索范围。

只需关闭开发人员选项

即可解决同类问题(GUI中的闪烁)

enter image description here

因为如果启用硬件覆盖, GPU 将会处理UI&amp;有时在 GUI渲染中会有一些冲突。