Android布局-线性布局中的居中图标

Android布局-线性布局中的居中图标,android,android-layout,Android,Android Layout,我知道这可能是一个微不足道的问题,但我就是无法让它工作: 活动代码的一部分: <LinearLayout android:id="@+id/send_layout" android:layout_width="120dp" android:layout_height="40dp" android:orientation="horizontal" android:layou

我知道这可能是一个微不足道的问题,但我就是无法让它工作:

活动代码的一部分:

<LinearLayout
            android:id="@+id/send_layout"
            android:layout_width="120dp"
            android:layout_height="40dp"
            android:orientation="horizontal"
            android:layout_marginTop="5dp"
            android:background="@drawable/rounded"
            android:clickable = "true"
            android:weightSum="1" >

            <ImageView
                android:id="@+id/send_icon"
                android:layout_height="fill_parent"
                android:layout_width="wrap_content"
                android:scaleType="centerCrop"      
                android:src="@drawable/ic_action_send_now"
                android:gravity="center_horizontal"
                android:padding="5dip"/>
        </LinearLayout>

这是drawable文件夹下的圆形形状:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="5dp"
android:shape="rectangle" >

<corners android:radius="5dp"/>

<solid android:color="#ccc" />

</shape>   

</item>

<item android:bottom="0.5dp">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:padding="5dp"
    android:shape="rectangle" >

    <solid android:color="#FFFFFF" />

    <!-- <stroke
        android:width="1dp"
        android:color="#2f6699" /> -->

    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />

</shape>   
</item>

</layer-list>


无论我如何处理线性布局中图像的重力,它仍然位于左侧。有人能看一下,告诉我如何将图像居中吗?

实际上我不确定,但请尝试以下方法:

  <LinearLayout
        android:id="@+id/send_layout"
        android:layout_width="120dp"
        android:layout_height="40dp"
        android:orientation="horizontal"
        android:layout_marginTop="5dp"
        android:background="@drawable/rounded"
        android:gravity="center_horizontal"
        android:clickable = "true"
        android:weightSum="1" >

        <ImageView
            android:id="@+id/send_icon"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:scaleType="centerCrop"      
            android:src="@drawable/ic_action_send_now"
            android:padding="5dip"/>
    </LinearLayout>

如果不起作用,请尝试:

<LinearLayout
        android:id="@+id/send_layout"
        android:layout_width="120dp"
        android:layout_height="40dp"
        android:orientation="horizontal"
        android:layout_marginTop="5dp"
        android:background="@drawable/rounded"
        android:clickable = "true"
        android:weightSum="1" >

        <ImageView
            android:id="@+id/send_icon"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:scaleType="centerCrop"      
            android:src="@drawable/ic_action_send_now"
            android:layout_gravity="center_horizontal"
            android:padding="5dip"/>
    </LinearLayout>

愿这对你有帮助。如果没有,请评论。

试试这个

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/send_layout"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:background="@drawable/borderr"
android:clickable="true"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:weightSum="1" >

<ImageView
    android:id="@+id/send_icon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:padding="5dip"
    android:scaleType="centerCrop"
    android:src="@drawable/ic_launcher" />

试试这个

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/send_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:orientation="vertical" >

这是因为您使用的是
android:scaleType=“centerCrop”
以及
android:layout\u height=“fill\u parent”
android:layout\u width=“wrap\u content”

imageView
请尝试以下数据

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/send_layout"
    android:layout_width="120dp"
    android:layout_height="40dp"
    android:layout_marginTop="5dp"
    android:background="@drawable/ic_launcher"
    android:clickable="true"
    android:orientation="horizontal"
    android:weightSum="1" >

    <ImageView
        android:id="@+id/send_icon"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:padding="5dip"
        android:src="@drawable/ic_launcher" />

</LinearLayout>

将线性布局的重心改为居中,而不是Imageview。它会起作用的

  <LinearLayout
            android:id="@+id/send_layout"
            android:layout_width="120dp"
            android:layout_height="40dp"
            android:orientation="horizontal"
            android:layout_marginTop="5dp"
            android:layout_centerInParent="true"
            android:gravity="center"
            android:background="@drawable/rounded"
            android:clickable = "true" >

            <ImageView
                android:id="@+id/send_icon"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:padding="5dp"
                android:scaleType="centerCrop"
                android:src="@drawable/ic_launcher" 
                android:contentDescription="@string/hello_world"/>

检查屏幕截图


这就是我如何居中查看文本的方式。。希望你能帮忙

rounded_corners.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<!-- Bottom 2dp Shadow -->
<item>
<shape android:shape="rectangle">

<solid android:color="#f47621" />
<corners android:radius="7dp" />

</shape>
</item>

<!-- White Top color -->
<item android:bottom="3px">

<shape android:shape="rectangle">

<solid android:color="#FFFFFF" />
<corners android:radius="7dp" />


</shape>

</item>

</layer-list>

在主要活动中

<RelativeLayout
    android:id="@+id/panel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:alpha="0"                
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:background="#f47621" >

        <TextView
            android:id="@+id/lbl"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:alpha="0"
            android:text="A"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textSize="32sp"
            android:translationX="0dp" 
            android:background="@drawable/rounded_corners"
            android:gravity="center" />

</RelativeLayout>

只是我的好奇,为什么不使用一个
RelativeLayout
?使用android:gravity=“center”