2013-03-31 1 views
1

Я не удовлетворен результатом моего макета, когда я тестирую его в ландшафтном режиме на разных устройствах размера экрана. В портрете мне нравится край текста. Поскольку мой текущий размер изображения изображения не заполняет всю ширину некоторых устройств там, в ландшафте, есть некоторые пробелы слева и справа, что хорошо. Однако маржа текстового поля также должна учитывать этот пробел и как-то добавлять его. Я знаю, что я могу создать другой стиль XML для режимов альбомных, но любая фиксированная маржа не поможет здесь ... спасибо за любую помощь заранеекак выровнять текст в соответствии с приведенным выше представлением изображения в android

enter image description here

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:scaleType="fitStart" 
    android:adjustViewBounds="true" 
    android:src="@drawable/start1_8" /> 

<TextView 
    style="@style/DescriptionTitle" 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/imageView1" 
    android:text="Test Titelzeile" /> 

<style name="DescriptionTitle" parent="@android:style/TextAppearance"> 
    <item name="android:textColor">#0099cc</item> 
    <item name="android:textStyle">bold|italic</item> 
    <item name="android:textSize">20sp</item> 
    <item name="android:layout_gravity">center_vertical|left</item> 
    <item name="android:gravity">top|left</item> 
    <item name="android:layout_marginLeft">15dp</item> 
    <item name="android:layout_marginRight">15dp</item> 
    <item name="android:layout_marginTop">5dp</item> 

</style> 

ответ

2

Я бы поставил его в Relative Layout, как это:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:gravity="center_horizontal" 
       android:layout_height="match_parent"> 
    <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:scaleType="fitStart" 
      android:adjustViewBounds="true" 
      android:src="@drawable/Untitled-1" /> 
    <TextView 
      style="@style/DescriptionTitle" 
      android:id="@+id/textView1" 
      android:layout_alignLeft="@id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/imageView1" 
      android:text="Test Titelzeile" /> 
</RelativeLayout> 

Тогда это будет в правильном относительном положении, независимо от размера или вида ориентации.

+0

Удивительно, это делает трюк. большое спасибо! – jay

0

размером вида во время выполнения и использование (например, ширина экрана/4) отношение ширины и положения изображения по горизонтали.

использование LayoutParams для этого.