Java Android-alert对话框设计

Java Android-alert对话框设计,java,android,tablelayout,Java,Android,Tablelayout,在我的应用程序中,我想显示弹出对话框。我画了第一阶段的草图。我想要的是: 我试图实现这一点,下面是我的代码: <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&quo

在我的应用程序中,我想显示弹出对话框。我画了第一阶段的草图。我想要的是:

我试图实现这一点,下面是我的代码:

<TableLayout  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:shrinkColumns="*"
    android:stretchColumns="*" 
    android:background="#ffffff"
    tools:context=".CustomMainActivity" >   
    <TableRow
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:gravity="center_horizontal"
        android:background="#b6006a">  
        <ImageView 
            android:id="@+id/ImageView1"
            android:src="@drawable/icon"            
            android:layout_weight="1"       
            android:padding="10dip" 
            android:adjustViewBounds="true"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:scaleType="fitXY"
            android:gravity="right"/> 
            
        <TextView
            android:id="@+id/TextView1"
            android:layout_weight="1"
            android:textSize="18dp" 
            android:text="Nava Messenger"           
            android:padding="10dip"
            android:background="#b6006a"
            android:textColor="#fff"
            android:gravity="left"/>  
        
    </TableRow>
    <TableRow
        android:id="@+id/tableRow0"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">  
        <TextView
            android:id="@+id/TextViewSender"
            android:layout_width="match_parent" 
            android:layout_height="wrap_content"
            android:textSize="18dp"
            android:layout_span="3"
            android:maxLines="1"
            android:background="#fff"
            android:textColor="#000"/>  
            

    </TableRow>
    <TableRow
        android:id="@+id/tableRow1"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">  
        <TextView
            android:id="@+id/TextView2"
            android:layout_width="match_parent" 
            android:layout_height="wrap_content"
            android:textSize="18dp"
            android:layout_span="3"
            android:maxLines="4"
            android:padding="18dip" 
            android:background="#fff"
            android:textColor="#000"/>  
            

    </TableRow>
    <TableRow
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:gravity="center_horizontal">               
        <EditText
            android:id="@+id/EditText1"             
            android:layout_weight="3"
            android:inputType="textCapWords"
            android:layout_width="0dp"                                 
            android:ellipsize="start"           
            android:gravity="center"
            android:textColor="#b6006a"
            android:hint="Write a message..."/>  
        <ImageButton
            android:id="@+id/ImageButton1"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:adjustViewBounds="true"
            android:background="@null"
            android:scaleType="fitXY"
            android:src="@drawable/send_now"            
            android:gravity="right"/>           
    </TableRow>     
        
</TableLayout>

该代码的结果是:

我想修改一些内容,例如:

  • 减小标题大小(警报对话框顶部的紫色区域)
  • 减小标题上的图像大小(徽标图像的实际大小为:128*128)
  • 减少发送图像(发送图像的实际大小为:48*48)
  • 将发送图像和编辑文本放在一行上

有什么建议吗?

使用线性布局,根据需要调整边距/填充。也可以更改图标。粗略布局

<LinearLayout 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:background="#ffffff"
    android:orientation="vertical"
    tools:context=".CustomMainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#b6006a"
        android:gravity="center_horizontal"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/ImageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:gravity="right"
            android:padding="10dip"
            android:scaleType="fitXY"
            android:src="@android:drawable/ic_dialog_dialer" />

        <TextView
            android:id="@+id/TextView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#b6006a"
            android:gravity="left"
            android:padding="10dip"
            android:text="Nava Messenger"
            android:textColor="#fff"
            android:textSize="18dp" />
    </LinearLayout>

    <TextView
        android:id="@+id/TextViewSender"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        android:maxLines="1"
        android:text="Farhan"
        android:textColor="#000"
        android:textSize="18dp" />

    <TextView
        android:id="@+id/TextView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        android:maxLines="4"
        android:text="FarhanFarhanFarhan"
        android:padding="18dip"
        android:textColor="#000"
        android:textSize="18dp" />


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:gravity="center_horizontal"
        android:orientation="horizontal">

        <EditText
            android:id="@+id/EditText1"
            android:layout_width="0dp"
            android:layout_weight="3"
            android:layout_height="match_parent"
            android:ellipsize="start"
            android:gravity="center"
            android:hint="Write a message..."
            android:inputType="textCapWords"
            android:textColor="#b6006a" />

        <ImageButton
            android:id="@+id/ImageButton1"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:background="@null"
            android:gravity="right"
            android:scaleType="center"
            android:src="@android:drawable/ic_menu_send" />
    </LinearLayout>
</LinearLayout>

  • 使用RelativeLayout代替TableLayout,使用RelativeLayout更容易
  • 如有必要,将图像大小的宽度和高度与ScaleType的其他值进行三元组化
  • 如果要控制标题的大小,请不要使用“包装内容”
  • 在values/colors.xml中定义颜色

我建议您删除TableLayout并使用RelativeLayout,因为它可以让您更好地控制视图的放置位置。