我正在尝试将textview放在textview旁边。然而,他们总是在不同的“线”上结束。
void replace(char *str) {
unsigned int len = 0;
unsigned int no_of_spaces = 0;
while (*str) {
if ((char)*str == SPACE)
no_of_spaces++;
str++;
len++;
}
unsigned int new_len = len + 2 * no_of_spaces;
str = (char*) realloc(str, new_len * sizeof(char));
str[new_len] = '\0';
}
将图像作为复合绘图放置不是一个选项,因为它用于另一个图像。
有关如何将图像与文本放在同一行的任何线索?
答案 0 :(得分:5)
当您尝试制作应用的UI时,我想给您一些提示。您应该做的第一件事是尝试使用设计工具获取所需的UI,您可以放置UI元素,更重要的是,您还可以查看可以为特定布局设置的属性。那会节省你一些时间。
回答你的问题是线性布局,这是最简单的方法。试着避免权重(这里没有必要),因为创建UI需要更多时间。
这是一个很好的教程,可以更好地理解布局。
http://www.androidhive.info/2011/07/android-layouts-linear-layout-relative-layout-and-table-layout/
当然回答你的问题(只是通过使用设计工具做到了):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_vertical|center_horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView2"
android:background="@drawable/your_image" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Small Text"
android:id="@+id/textView2"
android:gravity="right" />
</LinearLayout>
</LinearLayout>
答案 1 :(得分:4)
使用 android:layout_toRightOf : 将此视图的左边缘定位到给定锚点视图ID的右侧。容纳此视图的左边距和锚视图的右边距.LateLayout的属性。最后,
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/medication_administration_time_row_drug"
android:layout_width="10dp"
android:layout_height="wrap_content"
android:id="@+id/medication_administration_time_row_fmk_icon" />
<TextView
android:id="@+id/descriptioncomma"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:layout_toRightOf="@id/medication_administration_time_row_drug" />
答案 2 :(得分:3)
有两种方法可以实现这一目标。
使用LinearLayout作为容器/父级,具有垂直或水平方向,适合您的需要。
您可以将相对布局用作容器/父级,然后使用&#34; toRightOf&#34;或&#34;以上&#34; /&#34;以下&#34;财产并使用您孩子观看的ID。
更好的方法是第一个,因为相对布局测量两次。
答案 3 :(得分:0)
使用Compound Drawable
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/medication_administration_time_row_fmk_icon"
android:id="@+id/medication_administration_time_row_drug"
android:drawableLeft="@drawable/your_image_name />
在此设置ImageView
左侧的TextView
否则,如果你想将它作为单独的组件,那就试试这个(另一种做法)
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical">
<ImageView
android:layout_width="10dp"
android:layout_height="wrap_content"
android:id="@+id/medication_administration_time_row_fmk_icon" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/medication_administration_time_row_fmk_icon"
android:id="@+id/medication_administration_time_row_drug" />
</LinearLayout>
更改android:orientation
的{{1}}以防万一,如果您希望它垂直,也相应地更改LinearLayout
答案 4 :(得分:0)
你可以这样做
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageViewTipoProduto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
app:srcCompat="@drawable/ic_kit_produtos_white_12dp" />
<TextView
android:id="@+id/textViewTipoProduto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="22dp"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
android:fontFamily="sans-serif-light"
android:letterSpacing="0.04"
android:text="@string/kit_de_produtos"
android:textColor="#ffffff"
android:textSize="14sp"
android:textStyle="normal" />
</LinearLayout>