【问题标题】:Android -alert dialog designAndroid -alert 对话框设计
【发布时间】:2016-05-13 18:05:38
【问题描述】:

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

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

<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)
  • 将发送图像和 EditText 放在一行中

有什么建议吗?

【问题讨论】:

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

标签: java android tablelayout


【解决方案1】:

根据需要使用 LinearLayout 调整边距/填充。更改图标。粗略的布局。

<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>

【讨论】:

    【解决方案2】:
    • 使用RelativeLayout 代替TableLayout,使用RelativeLayout 更容易。
    • 如有必要,尝试使用其他 ScaleType 值更改图像尺寸的宽度和高度。
    • 如果要控制标题的大小,请不要使用“wrap_content”。
    • 在 values/colors.xml 中定义颜色。

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 2015-02-26
      • 2015-01-10
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      相关资源
      最近更新 更多