图像视图上的文本视图?

时间:2013-10-10 06:06:46

标签: java android string

文本应该保存在图像视图中?文本不应该在布局文件夹中定义,应该从键盘上保存在图像视图上吗?

   @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fullimage);

        // get intent data
        Intent i = getIntent();

        // Selected image id
        int position = i.getExtras().getInt("id");
        ImageAdapter imageAdapter = new ImageAdapter(this);

        ImageView imageView = (ImageView) findViewById(R.id.fullimage);
        imageView.setImageResource(imageAdapter.mThumbIds[position]);
    }

}

6 个答案:

答案 0 :(得分:1)

使用framelayout ..定义ImageView和TextView并在TextView上设置文本

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/thumbHolder">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/thumbImage"
            android:scaleType="fitXY" />


        <TextView
            android:layout_width="match_parent"
            android:layout_height="24dp"
            android:id="@+id/titletxt"
            android:gravity="center_vertical"
            android:maxLines="2"
            android:paddingRight="8dp"
            android:paddingLeft="8dp"
            android:textSize="16sp"
            android:layout_gravity="bottom"
            android:background="#80000000"
            android:textColor="#ffffffff"
            android:text="" />


    </FrameLayout>

用于设置自定义字体: -

  1. 创建“assets \ fonsts \”文件夹,然后将字体放在那里
  2. 然后通过加载该字体来创建一个字体: -

    字体tfBold = Typeface.createFromAsset(getActivity()。getAssets(),“fonts / Raleway-Bold.otf”);

  3. 然后在textView中设置您的字体: -

    yourTextView.setTypeface(tfBold);

答案 1 :(得分:0)

试试这个 -

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" 
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:background="@drawable/image">


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

            <TextView 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:textColor="@color/white"
                android:textSize="18sp" 
                android:textStyle="bold"
                android:singleLine="true" 
                android:text="text"/>

        </LinearLayout>

   </LinearLayout>

答案 2 :(得分:0)

为此,您可以在图像上绘制输入文本。此链接可能有所帮助 Draw text on Bitmap

答案 3 :(得分:0)

您可以在画布上绘制图像,然后在图像上绘制文本,或者通过代码创建布局并在布局中设置textview,然后将布局放置在图像视图的顶部,背景为textview设置为透明

答案 4 :(得分:0)

您只能使用TextView执行此操作。以下列方式使用drawableTopdrawableBottomdrawableLeftdrawableRight

<TextView
    style="@style/layout_wrap"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:paddingRight="5dp"
    android:drawableTop="@drawable/flags_00"
    android:textColor="@color/text_color_tabs"
    android:textStyle="bold"
    android:maxLength="3"
    android:gravity="center"
    android:text="Team B" />

并在代码中通过以下方式

battingTeamFlag.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom);

答案 5 :(得分:0)

您可以使用Button并使用按钮背景来设置图像。并使用文本元素在按钮上添加文本。

   <Button
     android:layout_width="wrap_parent"
     android:layout_height="wrap_parent"
     android:text="YourText"
     android:background="@drawable/image"
    >
   </Button>

根据您的要求,您可以从按钮获取文本并通过意图传递