2014-07-04 17 views
1

我們正在開發一個Android應用程序。文本在5「設備上正常顯示,但在較小的設備(4」,3.5「)上裁剪,爲什麼會出現?歡迎任何幫助。請看下面的屏幕截圖。在下面的截圖「信用卡」,「借記卡」和「網上銀行」。Android應用程序:在較小的設備上獲得裁剪文本

on bigger devices

on smaller devices

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="#ffffff" > 
    <include android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       layout="@layout/sdk_header" 
       /> 

<RelativeLayout 
    android:id="@+id/topLogoLayout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
     android:layout_marginTop="0dp" 
     android:layout_marginRight="0dp" 
     android:layout_marginLeft="0dp" 
     android:layout_marginBottom="-11dp" 
     android:background="#e5e5e5" 
     android:paddingTop="10dp" 
     android:paddingBottom="20dp"> 

    <TextView 
     android:id="@+id/youtxt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:gravity="right" 
     android:layout_marginTop="5dp" 
     android:text="You" 
android:textSize="40sp" 
android:textColor="#727272" 
android:layout_marginLeft="10dp" /> 

<RelativeLayout 
    android:id="@+id/arrowLayout" 
    android:layout_toRightOf="@+id/youtxt" 
    android:layout_toLeftOf="@+id/companyLogo" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:layout_centerHorizontal="true"> 

    <TextView 
     android:id="@+id/txt_amount" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:text="Rs. 10" 
     android:textColor="#727272" 
     android:textSize="18sp" /> 

    <ImageView 
     android:id="@+id/arrow" 
     android:layout_width="wrap_content" 
     android:layout_height="18dp" 
     android:src="@drawable/arrow" 
     android:layout_below="@+id/txt_amount" /> 

    </RelativeLayout> 

    <ImageView 
     android:id="@+id/companyLogo" 
     android:layout_marginTop="5dp" 
     android:layout_marginRight="30dp" 
     android:layout_width="70dp" 
     android:layout_height="50dp" 
     android:layout_alignParentRight="true" 
     android:src="@drawable/wallet_logo" 
     android:scaleType="fitXY" /> 
    </RelativeLayout> 

    <ImageView 
     android:id="@+id/orange_line" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:src="@drawable/orange_line" 
     /> 
    <com.viewpagerindicator.TabPageIndicator 
     android:layout_marginTop="0dp" 
     android:id="@+id/indicator" android:layout_height="wrap_content" android:layout_width="fill_parent" /> 
    <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="wrap_content" android:layout_height="wrap_content" > 



    </android.support.v4.view.ViewPager> 

</LinearLayout> 
+0

顯示xml代碼和相關的java代碼。如果有幫助的話,可以嘗試將singleLine設置爲false。 –

+0

可能您使用邊距來設置TextView。所以更好地使用重量。 – Aniruddha

+0

當屏幕上沒有足夠的空間顯示全文時,您會發生什麼? – Henry

回答

0

不同的設備可能有不同的像素密度,屏幕大小,方向,分辨率和與濃度無關的像素(dp)

解決方案 -

  • 定義不同的屏幕尺寸不同的佈局文件。
  • 確保您的佈局可以適當調整根據屏幕配置
  • 確保正確的佈局應用到正確的屏幕

默認情況下,以適應屏幕

  • 提供適當的UI佈局,Android的重新調整你的應用程序佈局來適應當前設備屏幕。在大多數情況下,這工作正常。在其他情況下,您的用戶界面可能看起來不太好,可能需要針對不同的屏幕尺寸進行調整。例如,在較大的屏幕上,您可能需要調整某些元素的位置和大小以利用額外的屏幕空間,或者在較小的屏幕上,可能需要調整大小以使所有內容都可以放在屏幕上。

    您可以用來提供特定大小的資源的配置限定符是small,normal,large和xlarge。例如,超大屏幕的佈局應該放在layout-xlarge /中。

    從Android 3.2(API級別13)開始,上面的大小組已被棄用,您應該使用swdp配置限定符來定義佈局資源所需的最小可用寬度。例如,如果您的多窗格平板電腦佈局需要至少600dp的屏幕寬度,則應將其放置在layout-sw600dp /中。關於爲Android 3.2聲明平板佈局的部分將進一步討論使用新技術來聲明佈局資源。

    Look - Multiple Screen Support and Support Screen training docs

  • 0

    你只需要創建與密度或屏幕大小不同的文件夾一樣

    選項1.

    values-large 
    values-small 
    values-normal 
    

    更多解釋檢查此鏈接...

    Multiple Screen Support

    選項2.

    mTextView.setTextSize(16 * getResources().getDisplayMetrics().density); 
    

    這將根據密度給出TextSize。

    +0

    選項2:密度與屏幕尺寸有什麼關係? – Henry

    +0

    getResources()。getDisplayMetrics()。Device – sachin10

    +0

    的密度取決於設備 – sachin10

    1

    這是一個複雜的話題,書可以被寫入(可能有)。我將專注於我可以看到的唯一問題:文本大小。

    看起來你的字體在小屏幕上太大了。這會影響標籤和按鈕,儘管EditText也存在問題(它不會溢出)。

    測量屏幕尺寸的有用方法是sw-dp(最短寬度設備無關像素)。在所有設備上調整dp密度使其在160dpi左右。對於寬度爲3英寸的5英寸平板電腦,它應該是sw480dp設備。 3英寸-3.5英寸的屏幕寬度大約爲2英寸,應該是sw320dp設備

    要使此工作在最簡單的級別,您需要在value-sw240dp文件夾中放置一些文本大小設置,大約爲3/4文字大小默認sw480dp設備。

    例如,這可能會出現在你的dimen文件夾中。

    <dimen name="view_field_text_size">14sp</dimen> 
    

    我不能給你一個食譜,因爲我不知道的信息您對樣式或尺寸的其他用法。可能在佈局中您可能有:

    <EditText 
        <android:textSize="@dimen/view_field_text_size" 
    /> 
    

    最好把它放在一個樣式中,但這不在此範圍之內。

    相關問題