2014-03-02 121 views
0

我最近注意到,當我在我的內容熄滅屏幕,但效果非常好上面4.2.2安卓4.1.1檢查了我的應用程序。請檢查截圖。內容熄滅屏幕的Android 4.1.1

enter image description here

,是的,它是一個雙語的應用程序(英語/泰米爾語)。一些研究之後,我發現,英語列表項工作得很好,但泰米爾導致問題

enter image description here

佈局代碼:

activity_latest_news.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".LatestNews" > 

<ListView 
    android:id="@+id/LatestNewsView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" > 

</ListView> </RelativeLayout> 

latest_news_single_view.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" > 

    <TextView 
     android:id="@+id/LatestNews_title" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:text="@string/latest_news_dummy_title" 
     android:textSize="15sp" /> 

    <TextView 
     android:id="@+id/LatestNews_description" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_below="@id/LatestNews_title" 
     android:text="@string/latest_news_dummy_desc" 
     android:textColor="@color/getCCC" 
     android:textSize="14sp" /> 

    <TextView 
     android:id="@+id/LatestNews_posted_on" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+id/LatestNews_description" 
     android:paddingLeft="3dp" 
     android:paddingTop="2dp" 
     android:text="@string/latest_news_posted" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:textColor="#911991" /> 

    <ImageView 
     android:id="@+id/latest_news_addfav" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/LatestNews_posted_on" 
     android:src="@drawable/star" 
     android:layout_alignParentRight="true" /> 

</RelativeLayout> 

是這個Unicode 問題?或佈局問題?

也請看看這兩個模擬器。如果你注意到,在4.1.1的主題是灰白色,而在4.2.2是完全白色的,甚至是可繪製的(刷新圖像)看起來很奇怪(是的,我知道我沒有設置單獨的drawable爲mdpi, hdpi等)但是造成差異的原因是什麼?這是應用程序主題的問題?

任何幫助將不勝感激。謝謝!

+0

對於'ListView',更改到'的android:layout_width = 「match_parent」'。對於'TextView',更改爲'android:layout_width =「wrap_content」'。在Android 4.1模擬器上測試我的建議,看看你如何去。 – ChuongPham

+1

@ChuongPham我已經嘗試過..不工作.. –

+0

我不知道泰米爾是否會導致問題,但我測試了上述建議與您的佈局與非英文文本,如德語,法語,西班牙語,他們似乎包裝線,以便它不會離開屏幕。你可以嘗試另一種非英語語言(除泰米爾語之外)與你的佈局,看看它是否離開屏幕? – ChuongPham

回答

1

試着改變你的佈局如下,並檢查發生了什麼。

您的列表視圖佈局:

<ListView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/LatestNewsView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent">   
</ListView> 

行佈局:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/LatestNews_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"    
     android:text="@string/latest_news_dummy_title" 
     android:textSize="15sp" /> 

    <TextView 
     android:id="@+id/LatestNews_description" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"    
     android:layout_below="@id/LatestNews_title" 
     android:text="@string/latest_news_dummy_desc" 
     android:textColor="@color/getCCC" 
     android:textSize="14sp" /> 

    <TextView 
     android:id="@+id/LatestNews_posted_on" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"    
     android:layout_below="@+id/LatestNews_description" 
     android:paddingLeft="3dp" 
     android:paddingTop="2dp" 
     android:text="@string/latest_news_posted" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:textColor="#911991" /> 

    <ImageView 
     android:id="@+id/latest_news_addfav" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/LatestNews_posted_on" 
     android:src="@drawable/star" 
     android:layout_alignParentRight="true" /> 

</RelativeLayout> 

形象問題:

,你可以看到一個仿真器是Nexus S的,一個是Nexus One的於是就有了導致問題的ppi值不同。您需要爲相應的密度設置適當的圖像。

更新: check this它可以幫助

0

嘗試並手動指定每個文本視圖的行數。例如,改變第一TextView中看起來像這樣:

<TextView 
     android:id="@+id/LatestNews_title" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:singleLine="false" 
     android:maxLines="3" 
     android:ellipsize="end" 
     android:text="@string/latest_news_dummy_title" 
     android:textSize="15sp" /> 

請注意,我說:

android:singleLine="false" <!-- Allows content to wrap into other lines --> 
android:maxLines="3"  <!-- Makes maximum no. of line wraps = 3 --> 
android:ellipsize="end" <!-- Adds an ellipsis (...) to the end of line--> 

旁註:你是混合fill_parentmatch_parent。他們做同樣的事情。爲了更加一致,請堅持match_parent

編輯另外,擺脫layout_alignParentRight="true"。我不認爲你需要它,因爲寬度已經填滿了父視圖。使用layout_alignParentLeft =「true」就足夠了,因爲英語和泰米爾語都是從左到右書寫的。

+0

**注意:**'android:maxLines'在舊版本和某些設備上存在問題:https://code.google.com/p/android/issues/detail?id=2254 – Fllo

+1

不工作!我也嘗試將其更改爲match_parent並刪除了alignParentRight。仍然沒有任何工作.. :-( –