Archive

Archive for April, 2012

Setting the background image of an Android TextView

TextView displays text to the user and optionally allows them to edit it. A TextView is a complete text editor, however the basic class is configured to not allow editing; see for a subclass that configures the text view for editing.
In most cases u want add image as textView background. It’s so easy. In layout xml file u must write:

<textview 
android:background="@drawable/bubble" 
android:id="@+id/textViewSMS" 
android:layout_gravity="center_vertical" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
android:text="A normal PNG file (*.png) 
will be loaded with an empty one-pixel border added around the image, 
in which you can draw the stretchable patches and content area. 
A previously saved 9-patch file (*.9.png) will be loaded as-is, 
with no drawing area added, because it already exists."
</textview>

Then u will see result as following:

Of course u want see text in bubble 🙂 For this u must edit image with 9patch
Then save image as 9.png and add to project drawable folder. Save project and run again if everything goes ok u must see result as following:
If u find this post useful then don’t forget leavecomment 🙂
Advertisements

Nét đẹp thơ mộng trên cao nguyên Mộc Châu

Những con đường đất đỏ vòng vèo như khuỷu tay, với những khung cảnh tự nhiên luân chuyển liên tục toát lên vẻ đẹp của núi rừng, từ lâu thiên cảnh ở cao nguyên Mộc Châu (Yên Bái) được xem như một nàng tiên đang chìm đắm trong giấc ngủ, chờ bước chân du khách đến thưởng ngoạn, khám phá.

 Nhìn từ xa, những đồi chè thoai thoải với màu xanh mơn mởn là ấn tượng đầu tiên khi du khách tìm đến Mộc Châu
 Thấp thoáng trong lớp sương mù, dưới những hàng cây là mái nhà của người dân bản
 Cuộc sống bình dị của người dân tựa như một bức tranh với đầy đủ gam màu đẹp
 Mộc Châu, một góc khác nhìn từ trên cao
 Không gian bình lặng như một nàng tiên đang ngủ
 Thấp thoáng xa xa, cảnh sinh hoạt của từng hộ dân trong bản

Cuộc sống sinh hoạt thường nhật của người dân Mộc Châu

Thanh Việt

Theo Infonet

Categories: Picture

Ngắm hình ảnh thú cưng ngộ nghĩnh khi dùng máy tính

Cùng giải trí với những hình ảnh vừa buồn cười vừa dễ thương nhé!

Bạn biết đấy, ngày nay thú cưng cũng rất hâm mộ lĩnh vực công nghệ thông tin đó nha. Chúng thường xuyên lân la đến gần máy tính, ngắm nghía màn hình và tìm cách động chạm vào chuột hoặc bàn phím. Thậm chí, mấy em ấy còn tạo được những tư thế làm việc và phong cách sử dụng đồ điện tử không thể đáng yêu hơn nữa nhé.

Chú mèo tập trung vào chiếc MacBook.

Đang giả vờ chơi game này…

Rất chăm chú như kiểu đang xem tin tức.

Mèo xinh bên laptop hàng hiệu Alienware.

Mỗi người một việc này.

Không biết đang tức giận điều gì vậy nhỉ?

Tranh thủ giả trí nào.

Đang xem phim trực tuyến…

.. Thì chú mèo cảm thấy buồn ngủ rồi.

Ngồi đọc báo như đúng rồi.

Ra vẻ gõ gõ trên bàn phím.

Buồn quá ta…

Tranh thủ rình chuột tại chỗ.

Nhưng mà nhầm hàng rồi.

Em ấy đang khám phá chiếc bàn phím.

Xem phim gì thế này?

Tinh tinh với laptop.

Hình ảnh đóng giả thật hài hước

Con vẹt cũng hăng hái tìm hiểu máy tính.

Tập thể dục cho khỏe người nha.

Nghe nhạc này.

Chú tắc kè hoa.

Trông thoải mái quá chừng.

Nghịch ngợm tại phòng làm việc.

Cùng nhau xem xét kìa.

Chú chó với dáng ngồi cực “chất”.

Theo K14

Categories: Picture

Truncating text in a TextView or ListView

You will often find yourself loading text into a ListView and, as it is too long for the line, it wraps around. To resolve this solution you can use a combination of parameters in your layout file.


The two main parameters are:

 
android:ellipsize="end"
android:singleLine=”true”

Using a TextView element as an example, you would include these parameters as follows:

    <TextView
            android:id=”@+id/tvw_name”
            android:layout_width=”wrap_content”
            android:layout_height=”wrap_content”
            android:ellipsize=”end”
            android:singleLine=”true”
   />
Categories: Android

Grid View

GridView is a ViewGroup that displays items in a two-dimensional, scrollable grid. The grid items are automatically inserted to the layout using a ListAdapter.

In this tutorial, you’ll create a grid of image thumbnails. When an item is selected, a toast message will display the position of the image.

  1. Start a new project named HelloGridView.
  2. Find some photos you’d like to use, or download these sample images. Save the image files into the project’s res/drawable/ directory.
  3. Open the res/layout/main.xmlfile and insert the following:
    <?xml version="1.0" encoding="utf-8"?>
    <GridView xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@+id/gridview"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:columnWidth="90dp"
        android:numColumns="auto_fit"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:stretchMode="columnWidth"
        android:gravity="center"
    />

    This GridView will fill the entire screen. The attributes are rather self explanatory. For more information about valid attributes, see the GridView reference.

  4. Open HelloGridView.java and insert the following code for the onCreate()method:
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        GridView gridview = (GridView) findViewById(R.id.gridview);
        gridview.setAdapter(new ImageAdapter(this));
    
        gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
            }
        });
    }

    After the main.xml layout is set for the content view, the GridView is captured from the layout with findViewById(int). The setAdapter() method then sets a custom adapter (ImageAdapter) as the source for all items to be displayed in the grid. The ImageAdapter is created in the next step.

    To do something when an item in the grid is clicked, the setOnItemClickListener() method is passed a new AdapterView.OnItemClickListener. This anonymous instance defines the onItemClick() callback method to show a Toast that displays the index position (zero-based) of the selected item (in a real world scenario, the position could be used to get the full sized image for some other task).

  5. Create a new class called ImageAdapter that extends BaseAdapter:
    public class ImageAdapter extends BaseAdapter {
        private Context mContext;
    
        public ImageAdapter(Context c) {
            mContext = c;
        }
    
        public int getCount() {
            return mThumbIds.length;
        }
    
        public Object getItem(int position) {
            return null;
        }
    
        public long getItemId(int position) {
            return 0;
        }
    
        // create a new ImageView for each item referenced by the Adapter
        public View getView(int position, View convertView, ViewGroup parent) {
            ImageView imageView;
            if (convertView == null) {  // if it's not recycled, initialize some attributes
                imageView = new ImageView(mContext);
                imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(8, 8, 8, 8);
            } else {
                imageView = (ImageView) convertView;
            }
    
            imageView.setImageResource(mThumbIds[position]);
            return imageView;
        }
    
        // references to our images
        private Integer[] mThumbIds = {
                R.drawable.sample_2, R.drawable.sample_3,
                R.drawable.sample_4, R.drawable.sample_5,
                R.drawable.sample_6, R.drawable.sample_7,
                R.drawable.sample_0, R.drawable.sample_1,
                R.drawable.sample_2, R.drawable.sample_3,
                R.drawable.sample_4, R.drawable.sample_5,
                R.drawable.sample_6, R.drawable.sample_7,
                R.drawable.sample_0, R.drawable.sample_1,
                R.drawable.sample_2, R.drawable.sample_3,
                R.drawable.sample_4, R.drawable.sample_5,
                R.drawable.sample_6, R.drawable.sample_7
        };
    }

    First, this implements some required methods inherited from BaseAdapter. The constructor and getCount() are self-explanatory. Normally, getItem(int) should return the actual object at the specified position in the adapter, but it’s ignored for this example. Likewise, getItemId(int) should return the row id of the item, but it’s not needed here.

    The first method necessary is getView(). This method creates a new View for each image added to the ImageAdapter. When this is called, a View is passed in, which is normally a recycled object (at least after this has been called once), so there’s a check to see if the object is null. If it is null, an ImageView is instantiated and configured with desired properties for the image presentation:

    • setLayoutParams(ViewGroup.LayoutParams) sets the height and width for the View—this ensures that, no matter the size of the drawable, each image is resized and cropped to fit in these dimensions, as appropriate.
    • setScaleType(ImageView.ScaleType) declares that images should be cropped toward the center (if necessary).
    • setPadding(int, int, int, int) defines the padding for all sides. (Note that, if the images have different aspect-ratios, then less padding will cause for more cropping of the image if it does not match the dimensions given to the ImageView.)

    If the View passed to getView() is not null, then the local ImageView is initialized with the recycled View object.

    At the end of the getView() method, the position integer passed into the method is used to select an image from the mThumbIds array, which is set as the image resource for the ImageView.

    All that’s left is to define the mThumbIds array of drawable resources.

  6. Run the application.

Your grid layout should look something like this:

Try experimenting with the behaviors of the GridView and ImageView elements by adjusting their properties. For example, instead of using setLayoutParams(ViewGroup.LayoutParams), try using setAdjustViewBounds(boolean).

Source : developer.android.com

Categories: Android

Khoảnh khắc ngộ nghĩnh tươi đẹp của cuộc sống

Bạn đang hứng chịu bao nỗi buồn phiền đời sống! Có nhiều cách để vượt qua điều đó, quan trọng là ta luôn nhìn thấy phía trước vẫn còn nhiều điều tươi đẹp, có ý nghĩa và đáng sống. Vâng! cuộc sống luôn còn đó biết bao điều kỳ diệu. Các bức ảnh tươi đẹp dưới đây sẽ mang đến chúng ta những khoảnh khắc ngộ nghĩnh, vui tươi và hạnh phúc… Một cuộc sống tưởng chừng như không thể viên mãn, đầy đủ thi vị hơn…

Xin chia sẻ đến các bạn những bức ảnh đẹp này. Hi vọng sự thú vị và cảm xúc tươi mới sẽ đến với bạn.

 

Categories: Picture

Ảnh mới công bố về khu tị nạn của người Nhật sau thảm họa kép

AP vừa công bố những bức ảnh về cảnh tan hoang ở khu tị nạn Fukushima, một thời gian sau khi động đất, sóng thần kinh hoàng xảy ra ngày 11/3.

Bức ảnh này chụp ngày 5/6. Trong ảnh là 2 con chó đang đùa nghịch trên đường phố Ukuma, Nhật Bản. Những ngày sau thảm họa, nhiều loài động vật nuôi ở đây chạy lang thang trên đường phố, tự đi kiếm ăn. Đến mùa hè, một số con được cứu, còn một số bị chết vì đói hoặc bệnh tật.
Xác một con bò bị phân hủy ở một nông trang tại Naraha, Nhật Bản. Bức ảnh chụp ngày 9/7.
Những cảnh sát địa phương mặc trang phục bảo hộ để tránh bị nhiễm phóng xạ. Họ đang nỗ lực tìm kiếm thi thể nạn nhân của trận động đất, sóng thần diễn ra ngày 11/3. Bức ảnh này chụp tại Odaka, Nhật Bản ngày 7/4.
Con heo nằm trên vũng nước ở đường phố Namie, Nhật Bản. Bức ảnh chụp ngày 18/6.
Những người dân mặc trang phục bảo vệ tập trung trong một phòng gym ở Hirono, Nhật Bản trước khi được về nhà để thu thập những đồ vật sót lại trong ngôi nhà của họ ở vùng thảm họa. Ảnh chụp hôm 8/6.
Một cửa hàng ăn bị bỏ hoang ở Futaba, cách Nhà máy điện hạt nhân Fukushima khoảng 10 km. Ảnh chụp ngày 16/7.
Đây là hình ảnh tại một nhà trẻ ở Itate, Nhật Bản. Itate nằm ở phía tây bắc của vùng thảm họa, và là vùng bị nhiễm xạ rất cao. Phần lớn vùng này bị bỏ hoang. Tuy nhiên, một số người già chọn giải pháp ở lại vì họ đã già và không sợ ảnh hưởng của phóng xạ. Ảnh chụp ngày 7/6.
Hàng hóa rơi lả tả trên sàn của một cửa hàng ở Futaba, Nhật Bản, gần vùng thảm họa. Ảnh chụp ngày 18/6.
Con heo đang ngủ say sưa ở một cửa hàng bỏ hoang ở Namie, Nhật Bản. Ảnh chụp ngày 18/6.
Quầy hàng thực phẩm trong siêu thị trống trơn ở Itate, Nhật Bản, ngày 22/7.
Người dân ở Namie, Nhật Bản đang được kiểm tra độ phóng xạ ngày 26/7.
Một người tị nạn đang nằm trong khu tập trung ở Koriyama, Nhật Bản ngày 9/6.
Bát đũa liểng xiểng trên bàn một nhà ăn ở Namie, Nhật Bản. Ảnh chụp ngày 26/7.
Chị Junko Shimizu đang gập lại chiếc áo của chồng khi chính phủ cho phép về nhà lượm nhặt đồ đạc trong nhà. Ảnh chụp ngày 26/7.
Những bịch cam bị bỏ lại ở một siêu thị tại Namie, Nhật Bản, ngày 26/7.

ĐỖ QUYÊN

Theo Infonet

Categories: Picture