一:LinearLayout+RelativeLayout图表效果


android 布局实例解析 柱状图效果_第1张图片

1:每个柱子外面是RelativeLayout里边LinearLayout,使用android:layout_alignParentBottom="true"在父容器底部对齐

用背景颜色控制即可

2:中间文字水平垂直居中:

父容器控制水平居中android:layout_alignParentBottom="true"

自己垂直居中android:layout_gravity="center_vertical"

 <RelativeLayout        android:layout_width="90dp"        android:layout_height="160dp"        android:layout_marginTop="90dp"        android:background="#E5E4E3"         >        <LinearLayout             android:layout_width="100dp"            android:layout_height="30dp"            android:background="#FF9B58"            android:layout_alignParentBottom="true"            android:gravity="center_horizontal"            >            <TextView                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_vertical"                 android:textColor="#ffffff"                  android:text="17.8T"                />        </LinearLayout>            </RelativeLayout>

3:三个柱子左右两边间距保持一样

只需要在外层水平居中就可以了,外层的宽度等于内容宽度 android:layout_width="wrap_content"


所有布局文件1版

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center_horizontal"    android:background="#ffffff"    android:orientation="vertical" >    <LinearLayout           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:orientation="horizontal"           android:layout_marginTop="30dp"           android:layout_gravity="center_horizontal"           android:gravity="center_horizontal"         >    <RelativeLayout        android:layout_width="90dp"        android:layout_height="160dp"        android:layout_marginTop="90dp"        android:background="#E5E4E3"         >        <LinearLayout             android:layout_width="100dp"            android:layout_height="30dp"            android:background="#FF9B58"            android:layout_alignParentBottom="true"            android:gravity="center_horizontal"            >            <TextView                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_vertical"                 android:textColor="#ffffff"                  android:text="17.8T"                />        </LinearLayout>            </RelativeLayout>           <RelativeLayout        android:layout_width="90dp"        android:layout_height="160dp"        android:layout_marginTop="90dp"        android:layout_marginLeft="10dp"        android:background="#E5E4E3"         >        <LinearLayout             android:layout_width="100dp"            android:layout_height="60dp"            android:background="#81CDE7"            android:layout_alignParentBottom="true"            android:gravity="center_horizontal"            >            <TextView                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_vertical"                 android:textColor="#ffffff"                  android:text="37.8T"                />        </LinearLayout>            </RelativeLayout>             <RelativeLayout        android:layout_width="90dp"        android:layout_height="160dp"        android:layout_marginTop="90dp"        android:background="#E5E4E3"          android:layout_marginLeft="10dp"         >        <LinearLayout             android:layout_width="100dp"            android:layout_height="40dp"            android:background="#81CDE7"            android:layout_alignParentBottom="true"            android:gravity="center_horizontal"            >            <TextView                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_vertical"                 android:textColor="#ffffff"                  android:text="20T"                />        </LinearLayout>            </RelativeLayout>   </LinearLayout></LinearLayout>

2版

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center_horizontal"    android:background="#ffffff"    android:orientation="vertical" >       <LinearLayout         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="vertical"          android:layout_gravity="center_horizontal"        >            <LinearLayout         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="30dp"        >         <LinearLayout         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="30dp"        >         <TextView           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:textColor="#777777"           android:text="主机运行状态:"             />           <TextView           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:textColor="#ffffff"           android:background="#7EB100"           android:text="主机运转中"            />          </LinearLayout>          <LinearLayout         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="30dp"        android:layout_marginLeft="10dp"        >         <TextView           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:textColor="#ffffff"           android:background="#7EB100"           android:text="平均油耗"            />         </LinearLayout>      </LinearLayout>                     <LinearLayout           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:orientation="horizontal"           android:layout_marginTop="5dp"           android:layout_gravity="center_horizontal"           android:gravity="center_horizontal"         >             <LinearLayout           android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:orientation="vertical"        >    <RelativeLayout        android:layout_width="90dp"        android:layout_height="160dp"        android:layout_marginTop="90dp"        android:background="#E5E4E3"         >        <LinearLayout             android:layout_width="100dp"            android:layout_height="30dp"            android:background="#FF9B58"            android:layout_alignParentBottom="true"            android:gravity="center_horizontal"            >            <TextView                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_vertical"                 android:textColor="#ffffff"                  android:text="17.8T"                />        </LinearLayout>    </RelativeLayout>        <TextView                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_horizontal"                 android:textColor="#777777"                 android:text="油舱mz"                />    </LinearLayout>                 <LinearLayout           android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:orientation="vertical"        >               <RelativeLayout        android:layout_width="98dp"        android:layout_height="160dp"        android:layout_marginTop="90dp"        android:layout_marginLeft="10dp"        android:id="@+id/firshOilF"        android:background="#E5E4E3"         >        <LinearLayout             android:layout_width="100dp"            android:layout_height="60dp"            android:background="#81CDE7"            android:id="@+id/firshOilBox"            android:layout_alignParentBottom="true"            android:gravity="center_horizontal"            >            <TextView                 android:id="@+id/firshOilBoxText"                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_vertical"                 android:textColor="#ffffff"                  android:text="37.8T"                />        </LinearLayout>           </RelativeLayout>       <TextView                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_horizontal"                 android:textColor="#777777"                 android:layout_marginLeft="5dp"                 android:text="1号储油柜"                />    </LinearLayout>                    <LinearLayout           android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:orientation="vertical"        >         <RelativeLayout        android:layout_width="90dp"        android:layout_height="160dp"        android:layout_marginTop="90dp"        android:background="#E5E4E3"          android:layout_marginLeft="10dp"         >        <LinearLayout             android:layout_width="100dp"            android:layout_height="40dp"            android:background="#81CDE7"            android:layout_alignParentBottom="true"            android:gravity="center_horizontal"            >            <TextView                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_vertical"                 android:textColor="#ffffff"                  android:text="20T"                />        </LinearLayout>            </RelativeLayout>        <TextView                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:layout_gravity="center_horizontal"                 android:textColor="#777777"                 android:text="2号储油柜"                 android:layout_marginLeft="5dp"                />    </LinearLayout>                    </LinearLayout>   </LinearLayout></LinearLayout>

后台效果

public class TestChat extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.testchat);        SetOil(100,70); }     private void SetOil(double maxoval, double currentovl)//maxoval最高刻度,当前油量currentovl { TextView tv = (TextView)findViewById(R.id.firshOilBoxText); tv.setText(currentovl+"T"); LinearLayout ly = (LinearLayout)findViewById(R.id.firshOilBox); RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams)ly.getLayoutParams();  RelativeLayout lyf = (RelativeLayout)findViewById(R.id.firshOilF); LinearLayout.LayoutParams lpf = (LinearLayout.LayoutParams)lyf.getLayoutParams();  double precendvalue = (currentovl/maxoval);//先计算所占高度的百度分 System.out.println("百分比:"+precendvalue); int needheight = (int)(precendvalue*lpf.height);//在取得该百分比在当前高度下占有的高度,获取到的单位已经是dp不用再转化了  lp.height = needheight; ly.setLayoutParams(lp); }   public int Dp2Px(Context context, float dp) {     final float scale = context.getResources().getDisplayMetrics().density;     return (int) (dp * scale + 0.5f);      }}








更多相关文章

  1. Android 百分比布局
  2. Android百分比布局:PercentFrameLayout
  3. 如何在进度条全屏表单界面上添加百分比状态
  4. HTML DIV百分比宽度奇奇怪怪的间距产生了?
  5. img在div中不按百分比调整大小
  6. 关于大背景图片随浏览器百分比缩放的问题
  7. 根据mysql中的另一列获取百分比列

随机推荐

  1. Android 线程池使用
  2. Android学习(三)Spinner实现
  3. 为什么我写的Android闹钟到时间时却不会
  4. Android实现拨号器电话
  5. Android(安卓)学习 笔记_12. Spinner的简
  6. 在Fragment中使用BaiduMap SDK
  7. SQlite Android数据库的应用 Android SQL
  8. NDK Stack
  9. Android 显示隐藏状态栏
  10. android中横竖屏切换状态保持一致