android - android中的按钮位置

标签 android layout button android-relativelayout

我正在尝试使用 SMS iPhone 应用程序中的对话泡泡制作一些“聊天 View ”。 这是我在 xml 编辑器中完成的一行:

http://img44.imageshack.us/i/xml.png/

但是当我启动我的应用程序时,我得到了这个:

http://img59.imageshack.us/i/resultt.png/

我不知道为什么回答按钮离我的Relative布局边框那么远!这是对话泡泡的 xml 代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:background="@drawable/bulle_chat"
    android:layout_width="fill_parent">
    <ImageView android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_height="40sp"
        android:layout_width="40sp"
        android:id="@+id/ImageViewPhoto"
        android:scaleType="fitXY"
        android:layout_margin="8sp"
        android:src="@drawable/lady">
    </ImageView>
    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/ImageViewPhoto"
        android:layout_alignTop="@+id/ImageViewPhoto"
        android:id="@+id/TextViewPseudo"
        android:text="Pseudo"
        android:textColor="#242424"
        android:textStyle="bold">
    </TextView>
    <TextView android:layout_below="@id/TextViewPseudo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/TextViewDate"
        android:text="Date"
        android:layout_toRightOf="@+id/ImageViewPhoto">
    </TextView>
    <Button android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:id="@+id/ButtonAnswer"
        android:layout_height="40sp"
        android:layout_width="40sp"
        android:layout_margin="8sp">
    </Button>
    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/ImageViewPhoto"
        android:layout_alignLeft="@+id/ImageViewPhoto"
        android:textColor="#000000"
        android:text="BlbalblablbalbalbalbalbalablabalbalablaballabalbBlbalblablbalbalbalbalbalablabalbalablaballabalbalbalaBlbalblablbalbalbalbalbalablabalbalablaballabalbalbalablablaalbalabla"
        android:id="@+id/TextViewMessage"
        android:layout_alignRight="@+id/ButtonAnswer"
        android:paddingBottom="15sp">
    </TextView>
</RelativeLayout>

这是适配器的getView()方法(伪=昵称):

public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = ctx.getLayoutInflater();
    View v = inflater.inflate(R.layout.chat_row, null);
    TextView pseudo = (TextView)v.findViewById(R.id.TextViewPseudo);
    TextView date = (TextView)v.findViewById(R.id.TextViewDate);
    TextView message = (TextView)v.findViewById(R.id.TextViewMessage);
    ImageView icon = (ImageView)v.findViewById(R.id.ImageViewPhoto);
    Button b = (Button)v.findViewById(R.id.ButtonAnswer);
    b.setId(position);
    b.setOnClickListener((OnClickListener) ctx);
        
    pseudo.setText(listMessages.get(position).getPseudo());
    pseudo.setTextColor(0xFF000000);
    date.setText(listMessages.get(position).getDate());
    date.setTextColor(0xFF000000);
        message.setText(listMessages.get(position).getText());
    message.setTextColor(0xFF000000);
    message.setGravity(Gravity.CLIP_HORIZONTAL);
        
    if (listMessages.get(position).getThumb()!=null){
        icon.setImageBitmap(listMessages.get(position).getThumb());
    } else {
        icon.setImageResource(R.drawable.unknown);
    }
    return v;
}

如您所见,我将布局对齐父级右上角设置为 true,但它不起作用。另一个问题:如果我想更改按钮的背景,这个按钮就会消失!

感谢您的帮助!

最佳答案

看起来您为整个按钮设置了边距。尝试只为顶部留出边距,而不要为右侧留出边距。另外,我可能是错的,但 sp 不只是用于文本,而 dp 是用于宽度等等吗?

android:layout_margin="8sp"

android:layout_marginTop="8sp"

关于android - android中的按钮位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3449883/

相关文章:

c# - 特定 WInForm 的缩放错误

html - Z-index 问题不知道现在该怎么办

Jquery Mobile CSS Android 样式寄宿生不显示在按钮上

Android 8.0 Oreo wifi 列表未获取

java - 单击一个后禁用回收器 View 中的所有其他切换按钮

android - UiAutomator 上的最新应用

html - 带 Angular Material 的 Pinterest 布局

javascript - 将 Highstock 缩放按钮放置在 <div> 内的图表区域之外

javascript - 传递参数时按钮单击事件不会被触发

android - 为什么不能从其他类访问arraylist?