2

ICS の前に textView が改行しないという問題があります。ICS (ハニカムも同様に機能すると信じていますが、試したことはありません) では、textView 内のテキストはうまく壊れますが、ジンジャーブレッドとテキストの下では、1 行に表示され続けます。これを修正する方法はありますか?

ビューページャーを使用しています。これが各画面のレイアウトです。カスタムフォントを追加するためだけにカスタムtextViewを使用していますが、それが問題にならないことを願っています。

pager_item.xml:`

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    android:padding="20dp" >

    <com.ursus.absolution.startme.MyTextView
        android:id="@+id/message_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/quotes_background"
        android:gravity="center"
        android:textColor="#585858"
        android:textSize="25dp" />

    <com.ursus.absolution.startme.MyTextView
        android:id="@+id/author_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#585858"
        android:textSize="20dp" />

</LinearLayout>`

In ICS
_____________
|           |
|           |
| "This is  |
|  my cool  |
|   text"   |
|           |
|___________|

In gingerbread and below
_____________
|           |
|           |
| "This is my cool text"
|           |
|           |
|           |
|___________|

申し訳ありませんが、新しい私は写真を投稿できません。よろしくお願いします。

///////アップデート///////////////

わかりました、これは非常に興味深いです..私はあなたの提案をすべて試しましたが、どちらもうまくいきませんでした.

したがって、これがどのように可能かはわかりませんが、これを行うアクションバーのスタイルを設定するカスタムテーマです。マニフェストでコメントアウトすると問題なく動作しますが、システムホロテーマもこれを行っているようです

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ursus.absolution.startme"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />

<application
    android:icon="@drawable/iconn"
    android:label="@string/app_name"
    android:theme="@style/Theme.myStyle" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
    </activity>
    <activity
        android:name=".SplashScreenActivity"
        android:label="@string/title_activity_main"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

スタイル.xml

<resources>

<style name="Theme.myStyle" parent="@android:style/Theme.Holo">
    <item name="android:actionBarStyle">@style/mycoolstyle_transparent_ActionBar</item>
</style>

<style name="mycoolstyle_transparent_ActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@drawable/transparent_actionbar</item>
</style>

...そのため、マニフェストに android:theme="@style/Theme.myStyle" を追加すると、テキストビューが誤動作しますが、代わりに android:theme="@android:style/Theme.Holo" を追加すると、通常どおりにホロテーマを強制します、それは同様に動作しません

変。

4

2 に答える 2

8

この問題はさまざまな形で報告されています。たとえば、ここここです。問題の多くは、 ICS/holo テーマに更新するときに壊れる以前の作業レイアウトを報告しています。

私はそれを簡単に再現できました.xmlの行の問題です:@android:style/Theme.Holo

これを回避する最も簡単な方法は、バージョン管理された値フォルダーを導入して、Android が適切なフォルダーを選択できるようにすることです。つまり、2 つの styles.xml があります。

  • フォルダー内values-v11に、指定したものを配置する必要があります(でparent="@android:style/Theme.Holo"
  • 古いvaluesフォルダー内に、「プレーン」フォルダーをparent="android:Theme.Black.NoTitleBar".

マニフェストは変更しないでください。Android はバージョンに基づいて適切な xml を選択します。ソリューションは最もエレガントではないかもしれませんが、少なくとも android:maxlines や android:width などを台無しにすることはありません

于 2012-10-23T13:52:06.140 に答える