Android - set a ProgressBar to be a vertical bar instead of horizontal?

后端 未结 14 702
不知归路
不知归路 2020-11-30 22:22

I am trying to use a ProgressBar as a metering like display. I thought it was going to be an easy task and thought that ProgressBar had a property to set to be vertical, bu

14条回答
  •  旧时难觅i
    2020-11-30 23:22

    I had recently come across the need for a vertical progress bar but was unable to find a solution using the existing Progress Bar widget. The solutions I came across generally required an extension of the current Progress Bar or a completely new class in it self. I wasn't convinced rolling out a new class to achieve a simple orientation change was necessary.

    This article presents a simple, elegant, and most importantly, a no-hack solution to achieving a vertical progress bar. I'm going to skip the explanation and simply provide a cookie cutter solution. If you require further details feel free to contact me or leave a comment below.

    Create an xml in your drawable folder (not drawable-hdpi or drawable-mdpi -- place it in drawable). For this example I call my xml vertical_progress_bar.xml

    Here's what to place in the xml file:

    
    
      
        
          
          
        
      
      
        
          
            
            
          
        
      
      
        
          
            
            
          
        
    
    
    

    Create an xml file called styles.xml and place it in res/values. If your project already contains styles.xml in res/values then skip this step.

    Modify your styles.xml file and append the following code to the end of the file:

    
    
    
    

    Add your new vertical progress bar to your layout. Here's an example:

    
    

    That should be all you need to do to make use of a vertical progress bar in your project. Optionally, you might have custom drawable nine-patch images that you are using for the progress bar. You should make the appropriate changes in the progress_bar_vertical.xml file. I hope this helps you out in your project!

提交回复
热议问题