每当我在不同屏幕尺寸的设备上以横向模式测试时,我对布局的结果都不满意。 在肖像中,我喜欢textview的边缘。由于我当前的imageview图像大小不会填满某些设备的整个宽度,因此在左侧和右侧都有一些空白,这很好。 但是,textview的边距也应该考虑这个空白并以某种方式添加它。我知道我可以为横向模式创建不同的xml样式,但任何固定的边距都不会对此有所帮助...感谢您提前提供任何帮助
<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>
答案 0 :(得分:3)
我会把它放在像这样的相对布局中:
<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>
然后,无论视图大小或方向如何,它都将处于正确的相对位置。
答案 1 :(得分:0)
在运行时调整视图大小并使用(如screenwidth / 4)比例hor图像宽度和位置。
使用LayoutParams来完成它。