【问题标题】:Display text below an ImageView在 ImageView 下方显示文本
【发布时间】:2014-06-22 11:25:29
【问题描述】:

Xamarin 中,我有一个ViewPager 有一些片段,其中每个片段在ImageView 中显示一个简单的Bitmap

我需要在每个片段的每个图像下方添加一些文本。

这是我当前每个片段的ViewPagerItemWithImage 布局代码:

<?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">
    <ImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

这里是相关的OnCreateView代码:

rootView = inflater.Inflate(Resource.Layout.ViewPagerItemWithImage, container, false);
imageView = rootView.FindViewById<ImageView>(Resource.Id.image);
DownloadAsyncBitmap (imageURI, imageView);
imageView.SetScaleType (ImageView.ScaleType.Center);

能否帮我写一些类似于上面代码的代码,但在ImageView下方显示一些文本?

这是我目前所拥有的:

ViewPagerItemWithImageAndText布局代码:

<?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">
    <ImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <TextView
        android:id="@+id/myImageViewText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/image"
        android:layout_alignTop="@+id/image"
        android:layout_alignRight="@+id/image"
        android:layout_alignBottom="@+id/image"
        android:layout_margin="1dp"
        android:gravity="center"
        android:layout_gravity="center_horizontal"
        android:text="This is an image"
        android:textColor="#000000" />
</LinearLayout>

OnCreateView代码:

rootView = inflater.Inflate(Resource.Layout.ViewPagerItemWithImageAndText, container, false);
imageView = rootView.FindViewById<ImageView>(Resource.Id.image);
textView = rootView.FindViewById<TextView>(Resource.Id.myImageViewText);
DownloadAsyncBitmap (imageURI, imageView);

文本根本没有显示。

我可以帮忙吗?

提前致谢

【问题讨论】:

    标签: android android-layout xamarin android-imageview textview


    【解决方案1】:

    试试下面的代码:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:weightSum="8"
    android:orientation="vertical" >
    
    <ImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="0dp" 
        android:layout_weight="7"
        />
    
    <TextView
        android:id="@+id/myImageViewText"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_gravity="center_horizontal"
        android:layout_margin="1dp"
        android:gravity="center"
        android:text="This is an image"
        android:textColor="#000000" />
    </LinearLayout>
    

    【讨论】:

      【解决方案2】:

      您正在为您的图像视图分配 match_parent 宽度和高度,在此期间 textview 将无法在布局中显示空间 将图像视图的高度更改为某个值,或者使用 framelayout ,但这会将文本显示为图像视图上的叠加层。 使用此代码

      <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="0dp"
          android:layout_weight="9"
          android:orientation="vertical" >
      
          <ImageView
              android:id="@+id/imageView1"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:scaleType="fitXY"
              android:layout_weight="1"
              android:src="@drawable/abc_ab_bottom_solid_dark_holo" />
      
      </LinearLayout>
      
      <TextView
          android:id="@+id/textView1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Large Text"
          android:textAppearance="?android:attr/textAppearanceLarge" />
      
      </LinearLayout>
      

      【讨论】:

      • 抱歉,我无法正确格式化此 XML 代码,我收到无效的 XML 错误...
      【解决方案3】:

      试试这个代码:ViewPagerItemWithImageAndText layout code:

      <?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">
          <ImageView
              android:id="@+id/image"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          <TextView
              android:id="@+id/myImageViewText"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignLeft="@+id/image"
              android:layout_alignTop="@+id/image"
              android:layout_alignRight="@+id/image"
              android:layout_alignBottom="@+id/image"
              android:layout_margin="1dp"
              android:gravity="center"
              android:layout_gravity="center_horizontal"
              android:text="This is an image"
              android:textColor="#000000" />
      </LinearLayout>
      

      Below 属性将垂直排列您的项目,因此您的 textview 也将变为 Image 下方。

       android:orientation="vertical"
      

      【讨论】:

      • 我还是看不到文字。这与 ImageView:layout_height="match_parent" 有什么关系吗?
      猜你喜欢
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多