在imageview上的Android工作室XML textview

时间:2016-09-29 11:18:54

标签: java android xml

func menuButtonTapped(sender: UIBarButtonItem) {

}

我有一个问题我无法在我的imageview上获取文字,我认为它与图层有关。请帮帮我..

我是Android Studio XD的初学者

6 个答案:

答案 0 :(得分:0)

将线性布局更改为相对布局

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="match_parent">

    <ImageView
        android:layout_width="433dp"
        android:layout_height="210dp"
        android:layout_marginTop="25dp"
        android:id="@+id/imageView"
        android:scaleType="fitXY"
        android:contentDescription="@string/image_description" />

    <TextView
        android:id="@+id/item_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-light"
        android:text="@string/list_number_placeholder"
        android:textColor="@color/bar_separator_color"
        android:layout_centerInParent="true"
        android:textSize="50dp"
        android:gravity="center"
        android:layout_marginLeft="85dp"
        />
        </RelativeLayout>

**你最好使用framelayout **。我希望这会对你有所帮助

答案 1 :(得分:0)

您正在使用 LinearLayout 逐个堆叠视图,无论是水平方向还是垂直方向(方向)。

因此,如果您希望视图重叠,请使用 RelativeLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:layout_height="match_parent">

        <ImageView
            android:layout_width="433dp"
            android:layout_height="210dp"
            android:layout_marginTop="25dp"
            android:id="@+id/imageView"
            android:scaleType="fitXY"
            android:contentDescription="@string/image_description" />

        <TextView
            android:id="@+id/item_number"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="sans-serif-light"
            android:text="@string/list_number_placeholder"
            android:textColor="@color/bar_separator_color"
            android:layout_centerInParent="true"
            android:textSize="50dp"
            android:gravity="center"
            android:layout_marginLeft="85dp"
            />

</RelativeLayout>

答案 2 :(得分:0)

不好的方式。用java编写更好的东西:

LinearLayout lView = new LinearLayout(this);

myText = new TextView(this);
myText.setText("My Text");

lView.addView(myText);

setContentView(lView);

答案 3 :(得分:0)

这很有效。

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="match_parent">

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

        <ImageView
            android:layout_width="433dp"
            android:layout_height="210dp"
            android:layout_marginTop="25dp"
            android:id="@+id/imageView"
            android:scaleType="fitXY"
            android:contentDescription="hii" />

        <TextView
            android:id="@+id/item_number"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="sans-serif-light"
            android:text="yo"
            android:textColor="@color/bg_login"
            android:layout_centerInParent="true"
            android:textSize="50dp"
            android:gravity="center"
            android:layout_marginLeft="85dp"
            />
        </RelativeLayout>
        </LinearLayout>

答案 4 :(得分:0)

试试这个

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

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/picture"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@drawable/picture"
            android:scaleType="centerCrop" />

        <TextView
            android:id="@+id/text"
            android:gravity="center_horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="My super text"
            android:textColor="@android:color/white"
            android:layout_gravity="center_vertical"
            android:textStyle="bold"
            android:textSize="48sp" />
        <LinearLayout
            android:id="@+id/controls"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#7f000000"
            android:orientation="vertical"
            android:layout_gravity="bottom"/>
    </FrameLayout>

答案 5 :(得分:0)

此代码会将您的文字放在图片中间,这是您要求的。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:id="@+id/nations"
android:background="@color/colorPrimary"
android:layout_height="match_parent">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:background="@color/colorPrimary"
 android:layout_height="wrap_content">
 <ImageView
        android:src="@mipmap/ic_launcher"
        android:layout_width="433dp"
        android:layout_height="210dp"
        android:layout_marginTop="25dp"
        android:id="@+id/imageView"
        android:scaleType="fitXY"
        android:contentDescription="image" />

  <TextView
        android:id="@+id/item_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-light"
        android:text="@string/list_number_placeholder"
        android:textColor="@color/bar_separator_color"
        android:textSize="50dp"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        /></RelativeLayout>
</LinearLayout>