我的IMAGEVIEW有问题

时间:2016-06-23 12:13:34

标签: android picasso

我想构建一个包含很多东西的应用 但现在 我陷入了第一步 想要实现一个显示的活动 IMAGEVIEW后跟一个TEXTVIEW应该出现在屏幕的上半部分和另一半的TEXTVIEW上。但它起作用 就像没有我想要的那样。它看起来像这样:

enter image description here

图片载有:

Picasso.with(getApplicationContext())

            .load(url + "/img/hummingbird-copy.jpg")

            .into(todayImage);

我是毕加索的新手,所以我不知道是否有 更多 我需要去做。文本已加载 使用AsyncTask。文字加载 确实成功了 在ScrollView但它出现在某个地方,我从来没有 知道在LinearLayout。

布局XML:

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical">


<ImageView

    android:id="@+id/today_image"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_gravity="top"
    />


<TextView

    android:id="@+id/today_text"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="Hello World!" />

我尝试过Layout_gravity,Layout_margin *,Layout_padding *, 和其他一些 领域,但我还没有找到解决方法 问题。 ImageView 总是对顶部感到害怕 屏幕和文本始终 喜欢玩捉迷藏。

我想这只是在三个条件下:

  1. 我对毕加索表现不佳。

  2. 我对Layout XML做得不好。

  3. 我在MainActivity.java

  4. 中做得不好

    并且应该设置一些关于位置的东西 ImageView和TextView。

    但我不知道哪个。

    你能帮帮我吗?

3 个答案:

答案 0 :(得分:0)

这样做....

<LinearLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"
    android:weightSum="2">


    <ImageView

        android:id="@+id/today_image"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"
        android:src="@drawable/sample"

        android:layout_gravity="center_horizontal"
        android:layout_weight="1"
        />


    <TextView

        android:id="@+id/today_text"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Hello World!"
        android:layout_weight="1"/>

</LinearLayout>

愿它有所帮助!

答案 1 :(得分:0)

@Saurabh答案几乎是正确的。正确的XML是:

<LinearLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"
    android:weightSum="2">


    <ImageView

        android:id="@+id/today_image"

        android:layout_width="wrap_content"

        android:layout_height="0dp"
        android:src="@drawable/sample"

        android:layout_gravity="center_horizontal"
        android:layout_weight="1"
        />


    <TextView

        android:id="@+id/today_text"

        android:layout_width="wrap_content"

        android:layout_height="0dp"

        android:text="Hello World!"
        android:layout_weight="1"/>

答案 2 :(得分:0)

你可以在LinearLayout上设置weightSUm,它可以是一个值,如1,然后是那两个视图的一半(TextView和ImageView),因为是2个视图(1个div 2)

代码应如下所示。

    <?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:weightSum="1">


    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.5" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.5" />
</LinearLayout>

不要忘记为两个视图设置宽度和高度以匹配父级。