android qq 消息页面 editview 获得焦点把 标题栏 顶上去 问题

本文通过一个QQ demo实例,探讨了在Android应用中ListView与ScrollView的不同使用效果,并提供了源码下载链接。文章还讨论了RelativeLayout在不同场景下的适用性。

 

 

实战 QQ demo源码(本例中有该应用)

服务器端下载http://download.youkuaiyun.com/download/knight_black_bob/9822551

android eclipse 版http://download.youkuaiyun.com/download/knight_black_bob/9822553

android stdio  版本http://download.youkuaiyun.com/download/knight_black_bob/9822556

 

 


 

 ListView 改成 ScrollView 也是有效果的,但改成RelativeLayout 却不行,
 改成 RelativeLayout 嵌套 listview 也是可以得 ,
 可以 给我一个解释 为啥是这样的吗 ?

 


 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/aaa"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentTop="true"
        android:background="@color/black"
        android:gravity="top" >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text="@string/hello_world"
            android:textColor="@color/white"
            android:textSize="20sp" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:background="@color/grey" >
        <EditText
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
            <requestFocus />
        </EditText>
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/relativeLayout1"
        android:layout_below="@id/aaa" >

// 将 ListView 改成 ScrollView 也是有效果的,但改成RelativeLayout 却不行,
// 改成 RelativeLayout 嵌套 listview 也是可以得 ,
        <ListView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/black"
            android:visibility="visible" />
    </RelativeLayout>

</RelativeLayout>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

 

 

 

<think>好的,我现在需要解决用户在Android Studio中如何将EditView控件字体设置为加粗的问题。首先,用户提到的EditView可能是指EditText,因为Android中没有名为EditView的标准控件,可能是笔误或者混淆。所以我要先确认这一点,然后找出正确的方法。 根据用户提供的引用内容,比如引用[1]中提到EditText的属性,其中有一个android:textStyle="bold",这应该就是设置字体样式的关键属性。另外,用户的其他引用也提到了一些EditText的用法,比如引用[5]中讨论了textAppearance属性,但用户的问题是关于加粗,所以重点应放在textStyle上。 接下来,我需要验证这个属性是否适用于EditText。根据Android开发文档,TextView及其子类(包括EditText)支持textStyle属性,可以设置为bold、italic或bolditalic。因此,在XML布局文件中,直接在EditText标签中添加android:textStyle="bold"应该有效。 另外,用户可能需要通过代码动态设置,这时候可以使用setTypeface方法,传入Typeface.DEFAULT_BOLD或者其他组合。例如,如果已有EditText实例,可以调用editText.setTypeface(null, Typeface.BOLD);来加粗字体。 还需要考虑是否有其他方式,比如使用样式或者TextAppearance。引用[5]提到textAppearance属性,但直接设置textStyle更直接。同时要注意,如果用户同时需要斜体和加粗,可以用bolditalic。 最后,确保给出的方法在Android Studio中有效,可能需要检查是否有版本差异或其他注意事项。但根据引用内容中的示例,比如引用[1]明确提到了textStyle属性,因此应该没有问题。</think>在Android Studio中设置EditText(注意:Android标准控件为EditText而非EditView)的字体加粗,可以通过以下两种方式实现: --- ### 方法一:XML属性直接设置 在布局文件(如`activity_main.xml`)的EditText标签中,添加`android:textStyle`属性: ```xml <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:textStyle="bold" <!-- 关键属性 --> android:hint="输入内容"/> ``` - **说明**:`textStyle`支持`bold`(加粗)、`italic`(斜体)或`bold|italic`(加粗+斜体)[^1]。 --- ### 方法二:通过Java/Kotlin代码动态设置 在Activity或Fragment中获取EditText实例后,调用`setTypeface`方法: ```java EditText editText = findViewById(R.id.editText); editText.setTypeface(null, Typeface.BOLD); // 保留原有字体,仅加粗 ``` 或Kotlin: ```kotlin val editText = findViewById<EditText>(R.id.editText) editText.typeface = Typeface.DEFAULT_BOLD // 直接应用默认加粗字体 ``` --- ### 注意事项 1. **兼容性**:`textStyle`属性适用于所有Android版本,无需额外兼容处理。 2. **样式组合**:若需同时加粗和斜体,使用`android:textStyle="bold|italic"`或代码中`Typeface.BOLD_ITALIC`。 3. **字体覆盖**:若自定义字体文件,需确保字体本身支持加粗样式[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值