介绍布局问题与重量

时间:2013-10-25 16:10:11

标签: android android-layout

我正在创建一个介绍活动,我想要的是徽标比文字大一倍,文字以布局为中心。

使用下一个代码我遇到了差异布局的问题(在某些屏幕中,TextView未显示:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >

        <ImageView
            android:id="@+id/image_intro"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/image_view_desc"
            android:scaleType="fitCenter"
            android:src="@drawable/iconok" />
    </LinearLayout> 

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/email_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             android:textSize="55sp"
            android:text="@string/loading_text3" />
    </LinearLayout>

</LinearLayout>

我做错了什么?

5 个答案:

答案 0 :(得分:1)

测试此代码:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical"
android:weightSum="1.0" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"    
    android:layout_weight="0.66" >

    <ImageView
        android:id="@+id/image_intro"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/image_view_desc"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_launcher" />
</LinearLayout> 

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="0.34" >

    <TextView
        android:id="@+id/email_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:textSize="55sp"
        android:text="@string/loading_text3" />
</LinearLayout>

</LinearLayout> 

答案 1 :(得分:1)

(在你的评论之后)然后你应该设置第一个内部线性布局的权重2和第二个1.还使用layout_height =" 0"。          

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="2" >

    <ImageView
        android:id="@+id/image_intro"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/image_view_desc"
        android:scaleType="fitCenter"
        android:src="@drawable/iconok" />
</LinearLayout> 

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:gravity="center"
    android:layout_weight="1" >

    <TextView
        android:id="@+id/email_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:textSize="55sp"
        android:text="@string/loading_text3" />
</LinearLayout>

答案 2 :(得分:1)

// try this
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:weightSum="3"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:gravity="center"
        android:layout_weight="2" >

        <ImageView
            android:id="@+id/image_intro"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:contentDescription="@stringimage_view_desc"
            android:scaleType="fitXY"
            android:adjustViewBounds="true"
            android:src="@drawable/image_view_desc" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:gravity="center"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/email_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="55sp"
            android:text="@stringloading_text3" />
    </LinearLayout>

</LinearLayout>

答案 3 :(得分:1)

尝试此操作并根据您的要求更改margin

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical"
android:weightSum="3" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="2" >

    <ImageView
        android:id="@+id/image_intro"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:contentDescription=""
        android:src="@drawable/ic_launcher" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center_horizontal" >

    <TextView
        android:id="@+id/email_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="abcd"
        android:textSize="55sp" />
</LinearLayout>

答案 4 :(得分:1)

根据您的问题和评论,我认为以下代码段可以帮助您。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/image_intro"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="66"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/email_textview"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:gravity="left|center"
        android:layout_weight="33"
        android:text="@string/app_name"
        android:textSize="55sp" />

</LinearLayout>