4

这是我的问题,我正在开发一个新闻应用程序,我使用滚动视图包装一个文本视图来显示新闻的内容。但是我发现当文本视图很长时,android 4.0 ics 上的滚动非常慢,并且文本越长,滚动越慢。在 android 2.3 设备上,事情进展得和预期一样快。

我不知道这是否真的是一个系统错误,因为我在 android 项目上发现了类似的问题

这是我的布局:

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ScrollView
        android:id="@id/lst_news_details"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/list_background"
        android:fadingEdge="none"
        android:gravity="center" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:layout_marginLeft="15dp"
                android:layout_marginRight="15dp"
                android:layout_marginTop="10dp"
                android:orientation="vertical" >

                <TextView
                    android:id="@id/tv_news_details_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    style="@style/Detail_Title"/>

                <TextView
                    android:id="@id/tv_news_details_category"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    style="@style/Detail_Category"/>

                <TextView
                    android:id="@id/tv_news_details_created_at"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="10dp"
                    style="@style/Detail_Time"/>

                <include layout="@layout/detail_horizontal_divideline" />

                <ImageView
                    android:id="@id/img_news_details_image"
                    style="@style/Detail_Picture"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="6dp"
                    android:layout_gravity="center_horizontal"
                    android:contentDescription="@string/image_contentDescription"/>

                <TextView
                    android:id="@id/tv_news_details_context"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:layout_gravity="center_horizontal"
                    style="@style/Detail_Content"/>

            </LinearLayout>

            <View
                android:layout_width="match_parent"
                android:layout_height="10dip" />

        </LinearLayout>

    </ScrollView>

     <!-- actionbar shadow -->
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/action_bar_shadow"
        >
    </LinearLayout>

</FrameLayout>

还有我的 style.xml

<style name="Detail_Title">
     <item name="android:textColor">@color/list_item_title</item>
     <item name="android:textSize">18sp</item>
     <item name="android:shadowColor">@color/list_item_text_shadow</item>
     <item name="android:shadowDx">0</item>
     <item name="android:shadowDy">2</item>
     <item name="android:shadowRadius">2</item>
 </style>

 <style name="Detail_Category">
     <item name="android:textColor">@color/list_item_category</item>
     <item name="android:textSize">14sp</item>
     <item name="android:shadowColor">@color/list_item_text_shadow</item>
     <item name="android:shadowDx">0</item>
     <item name="android:shadowDy">2</item>
     <item name="android:shadowRadius">2</item>
 </style>

 <style name="Detail_Time">
     <item name="android:textColor">@color/list_item_time</item>
     <item name="android:textSize">14sp</item>
     <item name="android:shadowColor">@color/list_item_text_shadow</item>
     <item name="android:shadowDx">0</item>
     <item name="android:shadowDy">2</item>
     <item name="android:shadowRadius">2</item>
 </style>

 <style name="Detail_Content">
     <item name="android:textColor">@color/detail_content_text</item>
     <item name="android:textSize">16sp</item>
     <item name="android:autoLink">all</item>
     <item name="android:shadowColor">@color/list_item_text_shadow</item>
     <item name="android:shadowDx">0</item>
     <item name="android:shadowDy">2</item>
     <item name="android:shadowRadius">2</item>
 </style>

 <style name="Detail_Picture">
    <item name="android:layout_gravity">center</item>
    <item name="android:gravity">center</item>
    <item name="android:background">@drawable/image_frame</item>
 </style>

顺便说一句,我已经设置

android:minSdkVersion="7" android:targetSdkVersion="14"

但是还没有设置硬件加速标志。

有什么解决办法吗?请帮助我,谢谢!

4

2 回答 2

10

好吧,我自己找到了解决方案

只需android:hardwareAccelerated="false"在 manifest.xml 中设置

还是很迷茫,等待解释。

于 2012-08-25T03:00:47.267 回答
4

请注意,您可以android:hardwareAccelerated="false"为特定活动(甚至特定视图)添加如下所示:http: //developer.android.com/guide/topics/graphics/hardware-accel.html如果您想保留其余部分您的应用程序硬件加速。

于 2013-01-07T03:39:53.613 回答