Android studio界面ui优化

这篇具有很好参考价值的文章主要介绍了Android studio界面ui优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

记录一下对毕设界面的优化

1、美化TableRow,实现下边框

效果图:
android按钮美化,android studio,ui,android
方法:创建xml文件,然后引用该xml文件:

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

    <item>
        <shape>
<!--            边框颜色-->
            <solid android:color="#ebebeb" />
        </shape>
    </item>

    <item
        android:bottom="2dp">  //有四个方向可以选择,这里选择底部
        <shape>
<!--            背景颜色-->
            <solid android:color="@color/lightgreen" />
        </shape>
    </item>

</layer-list>

有时候下边框可以直接用view实现,我是因为不想把tablelayout改成linearlayout所以没用这个方法
view方法:

  <View
                android:layout_width="match_parent"
                android:layout_height="1px"
                android:background="@color/lightgreen" />

2、美化按钮

  • 背景透明并取消阴影
    效果图:
    android按钮美化,android studio,ui,android

             android:backgroundTint="#0000"
             android:stateListAnimator="@null"
    
  • 点击按钮变色
    效果图
    android按钮美化,android studio,ui,android
    同样创建xml文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <!--    设置按钮圆角按钮的步骤-->
    <!--    1.设置圆角的半径-->
    <!--    2.设置按钮的颜色-->
    <!--    3.设置边框大粗细和颜色-->
    <corners android:radius="10dp"/>
    <solid android:color="@color/lightgreen"/>
    <stroke android:width="1dp"
        android:color="@color/lightgreen"/>
</shape>

然后在代码块中设置点击时显示该格式,未点击时格式为空

                activity.setBackground(null);
                goods.setBackground(null);
                feedback.setBackground(getResources().getDrawable(R.drawable.button_shape));
  • 虚线框
    效果图:
    android按钮美化,android studio,ui,android
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="10dp"/>
    <!--        dashGap和dashWidth一起作用产生虚线效果-->
    <stroke
        android:dashGap="20dp"
        android:dashWidth="20dp"
        android:width="1dp"
        android:color="@color/iconColor"/>
</shape>
  • 预留位置

3、更改icon颜色

效果图:
更改前:android按钮美化,android studio,ui,android
更改后:android按钮美化,android studio,ui,android
方法:在xml文件里使用app:tint="@color/alarmColor"即可

4、实现头像位于卡片中间

效果图:
android按钮美化,android studio,ui,android
思路:使用relativeLayout布局,使头像位于卡片的下方,然后通过 android:layout_marginTop="-50dp"调整位置

问题:会发现Imagview会被卡片挡住,而不能显示在卡片的上面

解决办法:cardview引用 android:elevation="10dp",头像设为 android:elevation="20dp",即头像的值比cardview大就行

ps:要把不必要的嵌套布局都删掉,同时卡片的值最好不要设为0,我设成0的时候即使头像的值比0大也不起作用

5、弹窗的美化

效果图:
android按钮美化,android studio,ui,android
ps:先创建一个xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="200dp"
    android:layout_gravity="center"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:cardCornerRadius="20dp">

    <RelativeLayout
        android:layout_gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    <androidx.cardview.widget.CardView
        android:id="@+id/card1"
        android:layout_gravity="center"
        android:layout_width="match_parent"
        android:backgroundTint="@color/mainBackground"
        android:layout_height="wrap_content"
        app:cardCornerRadius="10dp">

        <LinearLayout
            android:id="@+id/lay"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:id="@+id/tv_createQRCode"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:gravity="center"
                android:textSize="18dp"
                android:textColor="@color/textColor"
                android:text="生成签到码" />
            <View
                android:layout_width="match_parent"
                android:layout_height="1px"
                android:background="@color/lightgreen" />

            <TextView
                android:id="@+id/tv_signInForm"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:gravity="center"
                android:textSize="18dp"
                android:textColor="@color/textColor"
                android:text="下载报名表" />
            <View
                android:layout_width="match_parent"
                android:layout_height="1px"
                android:background="@color/lightgreen" />

            <TextView
                android:id="@+id/tv_entryForm"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:gravity="center"
                android:textSize="18dp"
                android:textColor="@color/textColor"
                android:text="下载签到表" />
            <View
                android:layout_width="match_parent"
                android:layout_height="1px"
                android:background="@color/lightgreen" />

            <TextView
                android:id="@+id/tv_delete"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:gravity="center"
                android:textSize="18dp"
                android:textColor="#E36B6B"
                android:text="删除活动" />
            
        </LinearLayout>

    </androidx.cardview.widget.CardView>

        <LinearLayout
            android:layout_below="@+id/card1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

        <ImageView
            android:layout_marginTop="10dp"
            android:id="@+id/imageView6"
            android:layout_gravity="center_horizontal"
            app:tint="@color/lightgreen"
            android:layout_width="30dp"
            android:layout_height="30dp"
            app:srcCompat="@drawable/delete_pic" />

        </LinearLayout>

    </RelativeLayout>

</LinearLayout>

然后在代码块处实现点击图标出现弹窗:

 menu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //创建弹窗
                builder = new AlertDialog.Builder(ActivityDetailActivity.this);
                inflater = getLayoutInflater();
                layout = inflater.inflate(R.layout.dialog_menu, null);//获取自定义布局
                builder.setView(layout);//设置对话框的布局
                dialog = builder.create();//生成最终的对话框
                dialog.show();//显示对话框

                //弹窗背景透明
                dialog.setCanceledOnTouchOutside(true);
                Window window = dialog.getWindow();
                window.setContentView(R.layout.dialog_menu);
                ((Window) window).setBackgroundDrawable(new ColorDrawable(0x00000000));
                WindowManager windowManager = ActivityDetailActivity.this.getWindowManager();
                Display display = windowManager.getDefaultDisplay();
                WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
                lp.height = WindowManager.LayoutParams.MATCH_PARENT; //设置宽度
                lp.width = WindowManager.LayoutParams.MATCH_PARENT; //设置宽度
//                lp.gravity = Gravity.BOTTOM;
                window.setGravity(Gravity.CENTER);
                dialog.getWindow().setAttributes(lp);
                }
                }

ps:但其实这一块的代码我是想实现弹窗位于最低端来着,但是不知道为什么Gravity.Bottom不起作用,后来是在xml的文件里更改弹窗的位置才实现位置的变化,不过误打误撞实现了背景透明

pps:如果弹窗位置始终不变化,试着查看xml的宽和高是不是match_parent,不是的话可能会导致弹窗的位置不改变。

pps:如果 dialog.setCanceledOnTouchOutside(true)不起作用,可以试着修改宽和高,(我发现直接不设置宽和高倒也行)参考文章:安卓Dialog setCanceledOnTouchOutside(ture) 无效问题

ppps:我发现有的时候这样设置之后弹窗点击失效,这时候只用把 window.setContentView(R.layout.dialog_menu);注释掉就好

6、editText美化

去除editText的下划线:
两种方法,一种是令background为@null,第二种方法:令background为00FFFFFF。文章来源地址https://www.toymoban.com/news/detail-649229.html

7、卡片的使用

  • 添加阴影: app:cardElevation="@dimen/fab_margin"

经验总结:

  • 如果涉及到很多控件的大小、颜色,尽量采用引用的方式,即用@color/viewColor的方式,而不是直接#FFFFFF,因为这样后期修改比较方便,不用一个一个地修改
  • 布局最好用relativelayout(个人觉得最方便)

到了这里,关于Android studio界面ui优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Studio Kotlin 简单实现微信主界面UI

                            windows11                         文件版本 2023.2.0.0                         产品版本 2023.2.0.AI-232.10227.8.2321._BUILD_NUMBER_         JAVA属性:                          java version \\\"17.0.10\\\" 2024-01-16 LTS       

    2024年04月16日
    浏览(47)
  • Android Studio的新界面New UI,怎么切换回老界面

    最近更新了Android Studio,发现界面风格不一样了,有点像Windows 11的风格,详见图片 不习惯,还是习惯老界面,菜单File-Setting,在Setting界面将Enable new UI的勾去掉,点OK,重启Android Studio,熟悉的界面又回来了。

    2024年02月19日
    浏览(27)
  • 蓝牙聊天App设计1:Android Studio制作蓝牙聊天通讯软件(UI界面设计)

    前言:蓝牙聊天App设计全部有三篇文章(一、UI界面设计,二、蓝牙搜索配对连接实现,三、蓝牙连接聊天),这篇文章是一、UI界面设计 课程1:Android Studio小白安装教程,以及第一个Android项目案例“Hello World”的调试运行 课程2:蓝牙聊天App设计1:Android Studio制作蓝牙聊天通

    2024年02月02日
    浏览(37)
  • Android Studio 学习记录-按钮控件(Button)

    目录 按钮控件(Button)         textAllCaps属性         onClick属性 点击事件和长按事件 禁用与恢复按钮         本文介绍按键控件的常见用法,包括:如何设置大小写属性,如何响应按钮的点击事件和长按事件,如何禁用按钮又该如何启用按钮,等等。        

    2023年04月22日
    浏览(36)
  • android studio实现页面跳转(点击按钮)

    1.在已经创建的java文件MainActivity(点击app,点击java)下里面编写  2.在activity_main.xml(打开app,打开res,在layout下)里面编写 3.新建一个layout Resource File(打开app,打开res,在layout下新建一个layout Resource File)命名为twolayout,在里面编写 4.新建一个java文件(在app下,在java下,

    2023年04月09日
    浏览(31)
  • Android Studio:单选按钮和复选框

    安卓应用中,常常需要用户从若干选项中进行选择,有时要求只能选择一个,那么就要使用单选按钮(RadioButton),有时要求用户可以选择多个,那么就要使用复选框(CheckBox)。 1、继承关系图 RadioGroup是LinearLayout的子类 2、常用属性 3、设置事件监听器 4、注意事项 导入and

    2024年02月06日
    浏览(35)
  • Android studio(一)按钮监听的三种方式

    第一种方法:public class Activity2 extends AppCompatActivity implements View.OnClickListener 设置监听后,用id进行分别寻址 第二种方法:将implements写在监听类上 第三种方法:由于新版似乎不允许button根据id用switch语句,所以可以改用textview 在对应的布局文件里也需要为textview添加一个属性

    2024年02月02日
    浏览(31)
  • 《Android Studio开发实战》学习(八)- 点击按钮切换图片

    在前一篇文章 1 中实现了使用Android Studio开发一个图片展示App,熟悉了简单控件ImageView的使用 2 ,在这里继续研究Android Studio的使用方法。本文的目的是介绍如何开发一个图片切换App,实现点击按钮,在窗口中切换不同的图片。 现在想要设计一个图片切换工具,页面布局是 图

    2024年02月09日
    浏览(29)
  • Android studio中单击ImageButton按钮变换图片或颜色

    学习android studio后,掌握了TextView、Button、EditText、ImageView的使用。今天分享一下有关ImageButton图片按钮的使用,及单击ImageButton(按下、抬起)时变换不同的图片或颜色,希望可以对大家的学习有所帮助。 目录 一、 ImageButton简介 二、Android样式选择器 三、单击ImageButton按钮变

    2024年02月09日
    浏览(29)
  • Android Studio导入flutter项目,运行和调试按钮灰色

    解决方法:检查是否设置如下内容: 1.是否配置了Android SDK ,打开 file = project Structure =project 2.是否配置了Flutter SDK,打开 setting = LanguagesFrameworks =Flutter 3.是否配置了main.dart,点击Add Configuration = Flutter 选中当前需运行项目的main.dart路径并命名,配置成功后选中刚刚命名的dart即

    2024年02月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包