如何让图像图标在线性布局中对齐?

时间:2016-08-09 06:35:55

标签: android xml android-layout android-studio

我知道有很多主题或多或少相同的主题,但没有一个涵盖我的情况:

我有一个垃圾桶用于删除按钮但是如果文本行太长而且它太短了它连接到线上它总是从屏幕上消失而我只是想要在右侧应用程序的类似于Add_item按钮,但由于它在线性布局中,它不起作用

ativity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.owner.test24.MainActivity">

<TextView
    android:id="@+id/header"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/header"
    android:gravity="center_vertical"
    android:textColor="@color/accent"
    android:textSize="24sp" />
 <ImageButton
    android:id="@+id/add_item"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent"
    android:layout_alignEnd="@+id/header"
    android:layout_alignRight="@+id/header"
    android:src="@drawable/add_item_button"
    android:contentDescription="@string/add_item"/>
<ListView
    android:id="@+id/todo_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/header"/>

 </RelativeLayout>

to_do_item_layout.xml

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

<CheckBox
    android:id="@+id/checkBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TextView
    android:id="@+id/item"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20sp"/>

<ImageButton
    android:id="@+id/btnDel"
    android:src="@drawable/ic_delete_button"
    android:background="@android:color/transparent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Delete"
    />

如果有人有解决方案,请告诉我。

4 个答案:

答案 0 :(得分:2)

尝试以下

<TextView
    android:id="@+id/item"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:textSize="20sp"/>

希望它能解决你的问题。 :)

答案 1 :(得分:0)

添加layout_gravity代码

android:layout_gravity="right"

答案 2 :(得分:0)

use it, it works on every screen size

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:weightSum="1">

    <CheckBox
        android:id="@+id/checkBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_weight="0.03"/>

    <TextView
        android:id="@+id/item"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hhhhh"
        android:gravity="center_horizontal"
        android:textSize="20sp"
        android:layout_weight="0.87"/>

    <ImageButton
        android:id="@+id/btnDel"
        android:src="@drawable/delete_icon"
        android:background="@android:color/transparent"
        android:layout_width="wrap_content"
        android:layout_gravity="end|center_vertical"
        android:layout_height="wrap_content"
        android:text="Delete"
        android:layout_weight="0.1" />
    </LinearLayout>

答案 3 :(得分:0)

使用重量:

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

<CheckBox
android:id="@+id/checkBox"
android:layout_width="0dip"
android:layout_height="wrap_content"
amdroid: layout_weight="0.2"
/>

 <ImageButton
android:id="@+id/btnDel"
android:src="@drawable/ic_delete_button"
android:background="@android:color/transparent"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:text="Delete"
amdroid: layout_weight="0.2"
/>