我遇到了在ICS之前没有破坏行的textView的问题。在ICS(我相信蜂窝工作,但我没有尝试过)文本内部的文本打破很好,但在姜饼和下面的文本只是继续在一行。任何想法如何解决这个问题?
我正在使用viewpager,这是每个屏幕的布局。我使用自定义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"
| |
| |
| |
|___________|
对不起我新的我不能发布图片。在此先感谢,希望你们能得到它。
的 /////// UPDATE /////////////// 的
好的伙计们,这非常有趣..我尝试了你所有的建议但是没有工作,所以我开始了一个新的空白项目,只是将textview放入布局中,包含很长的字符串,它包裹得很好。
所以,我不知道这是怎么可能的,但它的自定义主题为动作栏做这个样式,当我在清单中评论它工作得很好,然而系统全息主题似乎这样做
的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>
styles.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”textviews misbehave 然而当我添加android:theme =“@ android:style / Theme.Holo”时,正如我通常会强迫全息主题一样,它也不会错过
怪异。
答案 0 :(得分:8)
此问题以各种形式报告,例如here和here。许多问题都报告了以前的工作布局,在更新为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等等
答案 1 :(得分:0)
除了Shine回答,我还必须为TextView设置相应的参数:
android:ellipsize="none"
android:maxLines="20"
android:scrollHorizontally="false"
android:singleLine="false"
示例:
<TextView
android:textColor="@color/white"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="none"
android:maxLines="20"
android:scrollHorizontally="false"
android:singleLine="false"
android:text="@string/my_text" />