使用RadioButton模拟底部导航栏

Android进阶之路 - 通过RadioGroup + RadioButton 实现底部导航栏 阅读与使用此文知识,仅需5-20分钟大多项目之初,我们都需要搭建UI界面,而底部导航的承载效果是不可或缺的。在我认知中有三种方式: 1.Tablayout+ViewPager+Fragment 2.LinearLayout+TextView+ImageView 3.RadioGroup+RadioButtonEffect:注意点:Xml属性Icon位于文本上方//请注意图片大小,如果图片太大,............ 阅读详情

使用RadioButton模拟底部导航栏

 

 

 

1、主布局文件main.xml

 


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

    tools:context=".MainActivity" >

 

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="@string/hello_world" />

 

 

<!—设置底部导航栏 -->

    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true" >

 

<!—引用底部导航栏的布局文件 -->

        <include

            android:id="@+id/footbar_layout_ly"

            layout="@layout/footbar_layout" />

        

    </LinearLayout>

 

</RelativeLayout>

 


 

 

2、底部导航栏的布局文件, footbar_layout.xml

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="60dip"

    android:background="@drawable/bottom_bg"

    android:orientation="horizontal" >

 

    <RadioGroup

        android:layout_width="fill_parent"

        android:layout_height="match_parent"

        android:orientation="horizontal" >

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_home_d"

            android:text="@string/home_tv" />

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_looks_d"

            android:text="@string/style_tv" />

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_cam"

            android:gravity="center"

            android:text="拍照"

             />

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_shopping_d"

            android:text="@string/shopping_tv" />

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_show_d"

            android:text="@string/show_tv" />

        

    </RadioGroup>

 

</LinearLayout>


 

 

 

3、在res/value/styles.xml中添加navigation_bottom_radio名称的布局

 

<resources>

 

    <style name="navigation_bottom_radio">

 

        <!-- 内部组件的排列 -->

        <item name="android:gravity">center_horizontal</item>

        <!-- 背景样式 -->

        <item name="android:background">@drawable/style_navigation_radio</item>

        <!-- 宽度 -->

        <item name="android:layout_width">fill_parent</item>

        <!-- 高度 -->

        <item name="android:layout_height">wrap_content</item>

        <!-- 设置RadioButton的原来图片为空 -->

        <item name="android:button">@null</item>

        <!-- 与其他组件宽度占相同比重 -->

        <item name="android:layout_weight">1.0</item>

        <!-- 底部的空隙 -->

        <item name="android:paddingBottom">2.0dip</item>

        <!-- 顶部的空隙 -->

        <item name="android:paddingTop">2.0dip</item>

        <!-- 文字的大小 -->

        <item name="android:textSize">11dip</item>

        <!-- 文字的颜色 -->

        <item name="android:textColor">@color/white</item>

    </style>

 

</resources>

 

 


4、在res\drawable目录下添加每个Radio的背景的样式style_navigation_radio.xml

 

  <?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 选中 -->

    <item android:drawable="@drawable/bottom_select_bg" android:state_checked="true"/>

 

</selector>


android 高仿微信底部菜单 用自定义的radiobutton和radiogroup实现,能实现气泡数字的效果 android 高仿微信底部菜单 用自定义的radiobutton和radiogroup实现,能实现气泡数字的效果,viewpager+自定义的radiobutton+radiogroup 立即下载

相关推荐

RadioButton 底部导航栏

使用RadioButton 实现底部导航源代码,AndroidStudio 可以运行的

【Android入门到项目实战-- 11.2】—— 实现底部导航栏(RadioGroup+Fragment)

Android如何实现底部导航栏,使用RadioGroup+Fragment实现,如何实现不能左右滑动切换页面的导航栏?具体代码实现

个人博客 4803

RadioGroup实现底部导航页面

RadioGroup+FrameLayout实现底部导航页面,里面用到一个简单的工厂模式

PYQT5 多线程方式,界面显示视频

参考blog:https://www.cnblogs.com/huluwa508/p/10320027.html#%E6%89%93%E5%BC%80%E7%9B%B8%E6%9C%BA 界面展示: 细节请参考以上链接: 1、补充UI.py 文件, 此文件命名为DisplayUI.py // An highlighted block # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'displa

qq_35250287的博客 3551

2026开源API网关横评:微服务与AI流量治理如何选型

API网关作为微服务架构的流量入口,承担着路由转发、安全管控、限流熔断等核心职责,是分布式系统治理的基础设施。随着大模型应用的普及,AI流量对网关提出了新的要求,如流式响应支持、Token级限流、多模型路由和成本分账等能力。传统网关通过插件拼凑AI功能,而AI原生网关则将这些能力内建。面对众多开源方案,如何根据业务场景做出合理选型?本文对Kong、APISIX、Higress、Envoy Gateway、MAI Gateway等主流开源API网关进行横向评测,从性能、动态性、K8s集成度、AI流量治理等维度

weixin_34242819的博客 480

Pyside6实战:3种.ui文件加载方式对比(附完整代码示例)

本文深入解析Pyside6中3种.ui文件加载方式的优劣与性能优化策略,包括动态加载QUiLoader、预编译方案及混合策略。通过实测数据和完整代码示例,帮助开发者根据项目需求选择最优解,提升界面加载效率与内存管理。

weixin_30897233的博客 88

使用radiobutton实现底部导航栏

很多app中,都有底部导航栏。点击不同的菜单,就会显示不同的界面。 实现底部导航栏的方式有很多,最容易想到的就是是imageview+textview。当然还有一些别的方法,例如完全可以通过radiobutton来实现这个功能。 先来看布局:<RadioGroup android:layout_width="match_parent" androi

duolaimila的博客 6823

comsol 多物理场仿真流程-以开关柜为例

1、主要方法 在SolidWorks中对于开关柜的内部与外部结构进行建模,生成能够导入软件计算的3D模型。将SolidWorks中的模型导入comsol软件中,设置参数进行多物理场耦合仿真。 1、具体步骤 删除高压开关柜中对其内部电磁环境无较大影响的结构,如低压测量柜、断路器内部结构等。 导入模型:将厂家提供的3D模型转化为solidworks结构模型。 修复模型:修复已转化模型中转化错误的部分、修复已转化模型中非实体部分、修复已转化模型中重叠实体部分 化简模型:去除过于...

健忘16的博客 7020

安卓学习--利用RadioButton实现底部导航栏

目标:利用RadioButton实现底部导航栏 简介:底部导航栏是现在大部分app都会用到的功能 它帮助用户可以通过导航在不同界面自由切换 实现过程 步骤1:编写布局文件 用RadioGroup和RadioButton完成导航栏的布局 用weight属性来控制所占比例 图片用系统所自带的一些图片 准备一定空间放置FrameLayout用于之后跳转 &lt;?xml versi...

ZeroLH00的博客 1289

【网络图】:附Origin详细画图教程

网络图,是一种由节点(或顶点)和连接这些节点的边(或链路)组成的图形结构。在网络图中,节点通常代表系统中的一个实体(如项目中的一项任务、通信网络中的一个设备、或运输网络中的一个站点),而边则代表这些实体之间的直接联系或流动(如任务的先后顺序、数据的传输路径、或乘客的旅行路线)。 有向图:如果边具有方向性,即从一个节点指向另一个节点,则称为有向图。这种图常用于表示具有明确先后顺序或方向性的系统,如项目管理中的任务依赖关系。 无向图:如果图中的边没有方向,则称为无向图。它适用于表示实体间相互关联但无明确方向性的

weixin_50236590的博客 3954

openai联合创始人用1000行纯C语言手搓的GPT-2训练代码

不久之前,特斯拉前 AI 总监、OpenAI 联合创始人 Andrej Karpathy 在社交媒体平台 X 上高调宣布,他友好地从 OpenAI 离职,未来将专注于“个人项目”,而后又口口声声说要尝试性地戒掉上网两周,去了 Bhutan(不丹王国)休假。然后就手搓如下代码,我们一起来欣赏.这段代码是一个GPT-2模型的训练实现,包括前向传播、后向传播、参数更新等过程。代码中包含了注释,解释了每个函数和代码块的作用。此外,还有一些辅助函数和结构体,用于数据加载、随机数生成和模型的初始化与释放。这个训练循环还

zhangzhechun的专栏 1208

Android--使用RadioButton模拟底部导航栏

1、主布局文件main.xml   [html] view plaincopyprint? RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"          xmlns:tools="http://schemas.android.com/tool

Navan 1239

手把手教你用STM32单片机控制双向可控硅调光(附完整代码+电路图)

本文提供了一套完整的STM32单片机控制双向可控硅实现灯光无级调光的实战方案。详细讲解了硬件电路设计,包括过零检测与隔离驱动,并剖析了基于定时器中断的软件核心逻辑,通过精准的相位角计算实现平滑的灯光强度控制。附有完整代码与电路图,适合嵌入式开发者实践。

weixin_29194255的博客 951

AndroidUI之底部导航栏的四种实现

现在大多数App都会用到底部导航栏,比如常见的聊天工具QQ、微信,购物App等等,有了底部导航栏,用户可以随时切换界面,查看不同的内容。它的实现方式也很多,以前大多使用TabHost来实现,但是现在我们有很多更好的选择。 使用LinearLayout + TextView实现了底部导航栏的效果 首先看看工程目录: Step 1:实现底部选项的一些资源文件 图片Dra

pochenpiji159的博客 7589

【路径规划】Theta_star算法机器人栅格地图最短路径规划【含Matlab源码 2618期】

Theta_star算法机器人栅格地图最短路径规划 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 362

【知识分享】IBIS 建模指南 03

本文介绍了差分缓冲器的数据提取方法,重点分析了差分系统与单端系统的核心差异。文章详细阐述了差分接收机和驱动器的结构特点、工作原理及建模方法,指出全差分结构具有优异的电源噪声抑制能力。针对IBIS建模规范,作者提出了三维I-V曲面数据提取技术,并介绍了共模/差模电流分离、片上端接处理以及V-T表生成的解决方案。文章还探讨了差分电容(C_diff)的测量方法和数据简化策略,为复杂差分缓冲器的精确建模提供了系统化的技术路径。

一只豌豆象的博客 1281

Android底部导航栏显示偏右

用RadioButton做了个底部导航栏,在eclipse中用xml预览显示如下: 但运行在模拟器或真机上显示效果就偏左了: 这三张图片都是64*64分辨率的,代码中这三个RadioButton都是权值平均分配的。 求教是哪里的问题,该怎样解决呢?

cuitan6161的博客 847

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

底部四个按钮的设置+fragment的切换

public class MainActivity extends AppCompatActivity implements View.OnClickListener {     private Fragment fm;     private Home_Fragment fragment;     private Class_Fragment fragment2;     pri

X__boss的博客 1781

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

用button模仿radiobutton布局

使用LinearLayout和button来模仿radiogroup和radiobutton实现不知道有什么用,当做练笔好了 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width

shuijianbaozi的博客 454

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

android底部导航(带小红点提示)

本帖只实现了底部导航(带小红点提示)的前台布局和tab切换功能,后续会把小红点动态显示与隐藏即根据新数据来控制底部提示的功能加上。 实现原理TabHost+RadioButton,底部提示角标(小红点)使用FrameLayout布局。 布局代码: <TabHost xmlns:android="http://schemas.android.com/apk/res/android"

845

Android ViewPager+TabHost实现首页导航

今天发的是TabHost结合ViewPager实现首页底部导航的效果,虽然说网上有很多这样的Demo,不过呢,我还是要把自己练习写的发出来,没错!就是这么任性;先上效果图,如下:代码里面有注释,就不过多解释了,说几点需要注意的问题1:TabHost 、TabWidget、FrameLayout一定添加id这个属性,否则会报错android:id=”@android:id...

weixin_33824363的博客 498

安卓学习笔记(18)-fragment与RadioGroup配合构建微信UI界面

0. 引言 ​ 在上一篇博文中提到,微信的界面也是通过fragment的构成。微信除了四页的fragment,还有底部的四个按钮,点击按钮就可以跳转到对应的界面。同时滑动界面时,底部的按钮也会跟着变化。 微信底部的四个按钮就是RadioGroup中的四个RadioButton。 1. 在activity_main.xml中设置RadioGroup 欲构建类似于微信UI,

kabuto_hui的博客 495

Fragment+自定义RadioButton实现底部导航栏,仿QQ

fragment碎片使用 自定义radiobutton控制drawabletop图片大小 仿QQ底部导航栏 简单实用项目框架 效果图项目DEMO地址:http://download.youkuaiyun.com/detail/wxk105/9564458MainActivitypublic class MainActivity extends FragmentActivity implements RadioG

wxk105的博客 1280

Android之底部導航欄--RadioGroup、TabHost、Fragment

Android底部導航欄,使用Fragment實現 老規矩,先看效果圖,因為不想拿4.1操作系統的手機,直接就用模擬器了 然後目錄結構 佈局文件內容 <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" and

Francis-ChinaFeng 3134

RadioButton的背景图片和文字居中对齐

做了一个底部导航栏,使用的RadioButton,类似微信那种,遇到一个不居中的问题,最后发现很简单的一个tip。 Radio背景图片和文字居中 在编辑器上运行显示是正确的样式,安装到模拟器上运行就是不ok的,请看对比: 编辑器上运行显示位置都是预期的: 安装到模拟器上效果如下,图片和文字相对RadioButton是右对齐的 查了很久,发现说是这个属性都是右对齐: andro

莫负青春取自惭 4080

小杨的Android学习之旅(2)——模拟百度贴吧底部导航栏

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33691700的博客 139
上一篇: shell知识点(一)
下一篇: Spring配置文件中使用PropertyPlaceholderConfigurer配置获取jdbc的配置信息
longyi_java
博客等级 码龄20年 24粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值